Работа с массивом

alex81

Новичок
Автор оригинала: hermit_refined
alex81
т.е. в чем там у вас была проблема, вы даже вскользь не упомянете?..
не то, что бы это нам нужно, но... здесь все-таки форум, а не справочная.
Честно говоря, я переписал все заново, в другом виде. url остался тем же, добавил только global $data по-сути.
Поэтому причина ошибки так и осталась для меня загадкой. Сейчас приведен полный тескт скрипта, поэтому у вас все "как на ладони" )
Основная задача для меня на данный момент описана двумя топами выше, поэтому я больше в скрипт пока ничего не включаю, чтобы было проще исправлять при необходимости.
А по поводу справочной... Приношу свои извинения, если это действительно так выглядело...
 

Breeze

goshogun
Команда форума
Партнер клуба
alex81
[m]var_dump[/m] тебе в руки

и вопрос: зачем тебе global?
 

alex81

Новичок
Автор оригинала: Breeze
alex81
[m]var_dump[/m] тебе в руки

и вопрос: зачем тебе global?
C var_dump буду разбираться.
А по поводу global - т.к. познания мои аховые, я ищу информацию в различных местах. В одном из примеров увидел такую конструкцию. А что, не нужно? Или должно быть что-то другое?
 

john.brown

просто кулибин
Если правильно понял, тебе что то такое надо:
Код:
$str = 'TIE = 17';
list($name,$value) = explode(' = ',$str);
$$name = $value;
echo $TIE;
Breeze
А причем тут var_dump()?
 

alex81

Новичок
Автор оригинала: john.brown
Если правильно понял, тебе что то такое надо:
Собственно, что мне нужно.
В $data содержится ряд строк типа:
TIE = 17
BIAS = 4
и т.д. (строк >20)
Мне нужно сохранить значения (17, 4...) этих параметров (TIE, BIAS...) как $TIE, $BIAS и т.д., чтобы позднее подставить эти значения в соответствующие ячейки таблицы.
 

john.brown

просто кулибин
$data из вашего кода по мойму содержит одну строку. Чем в ней эти пары "название = значение" разделены я знать не могу. Так что уж это как то самостоятельно на массив разбейте :) А дальше для каждого элемента код выше...
 

hermit_refined

Отшельник
Поэтому причина ошибки так и осталась для меня загадкой.
очень жаль. так из вас программиста, боюсь, никогда не выйдет.
А по поводу global - .... должно быть что-то другое?
http://ru.php.net/manual/en/functions.returning-values.php
Мне нужно сохранить значения (17, 4...) этих параметров (TIE, BIAS...) как $TIE, $BIAS
создавать переменные с не-пойми-откуда-пришедшими именами не стоит. тем более в глобальной области видимости. храните их в массиве.

распарсить можно, например, так:
PHP:
$lines  = file($url);
$result = array();
foreach ($lines as $line)
{
    $pair = explode('=', $line, 2);
    if (sizeof($pair) == 2)
        $result[trim($pair[0])] = trim($pair[1]);
}
на все функции можно и нужно посмотреть документацию в мануале.
 

Breeze

goshogun
Команда форума
Партнер клуба
тем не менее человек задался правильным вопросом.
и тем лучше для него будет, чем раньше этот вопрос провентилирует.
 

alex81

Новичок
Сделал так:
PHP:
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
global $data; 
$api_path = "http://server.com"; 
$api_auth = "log=login&pwd=pass"; 
$url = $api_path.$func."=".$val."&".$sub_func."=".$sub_val."&".$api_auth; 
$data = file_get_contents($url); 
} 
get_info("func","val","sub_func","sub_val"); 
$lines = file($data); 
$result = array(); 
foreach ($lines as $line) 
{ 
$pair = explode('=', $line, 2); 
if (sizeof($pair) == 2) 
$result[trim($pair[0])] = trim($pair[1]); 
}
print_r ($result);
?>
Ругается на строку
PHP:
$lines = file($data);
и говорит Invalid argument supplied for foreach().
Что я сделал не так?
 

hermit_refined

Отшельник
alex81
перечитайте мануал, мое сообщение, и подумайте, почему там file($url), а не file($data)...
беда, конечно. написав код, я наивно полагал, что этот топик наконец-то перестанет всплывать...
и ссылку про возврат значения из функции, кстати, тоже дал не просто так.
 

alex81

Новичок
Автор оригинала: hermit_refined
alex81
перечитайте мануал, мое сообщение, и подумайте, почему там file($url), а не file($data)...
беда, конечно. написав код, я наивно полагал, что этот топик наконец-то перестанет всплывать...
и ссылку про возврат значения из функции, кстати, тоже дал не просто так.
Сделал так, как описано, получил массив вида:
[TIE] => 17
[BIAS] => 4
Перечитал несколько раз мануал. Но так и не понял как в <td></td> засунуть значение TIE. Помогите, плз. Уже несколько ночей сижу читаю разные мануалы, ищу похожие решения в сети, но видимо слишком туп или неграмотен...
 

hermit_refined

Отшельник
http://ru.php.net/manual/en/language.types.array.php
http://ru.php.net/manual/en/language.types.string.php#language.types.string.syntax.double
PHP:
echo "<table><tr><td>$array[TIE]</td></tr></table>";
или
PHP:
echo '<table><tr><td>' . $array['TIE'] . '</td></tr></table>';
P.S. приобретите и читайте книжки. если вы не можете самостоятельно написать ни одной строчки - значит, ничего более писать не надо.
 
Сверху