#php #echo #var-dump
#php #echo #var-дамп
Вопрос:
У меня есть массив с именем $worker
массив состоит только из строк, каждая из которых состоит из нескольких строк.
если я сделаю
var_dump($worker);
он отображает всю информацию, но делает
for($i=0,$size=sizeof($worker);$i<$size; $i)
{
echo $worker[i];
}
В итоге у меня на странице ничего не остается.
Я очень новичок в php, поэтому извините, если это вопрос новичка: как мне получить информацию в массиве для правильной печати на экране?
Комментарии:
1. Вы, вероятно, просто забыли
$
ini
в$worker[i]
.2. Включите отображение предупреждений на экране в вашей среде разработки, и вы сразу заметите эти ошибки.
Ответ №1:
Вам не хватает ‘$’ для вашей переменной ‘$ i’ внутри for
цикла.
Хорошей идеей будет включить отчет об ошибках при разработке на PHP: http://php.net/manual/en/function.error-reporting.php
Это обычный синтаксис для for
циклов в PHP:
for ($i=0, $c=count($worker); $i<$c; $i ) {
echo $worker[$i];
}
Комментарии:
1. Немного подробнее о том, что на самом деле происходит не так с отсутствующим $. Когда PHP видит,
$worker[i]
он думает, чтоi
это пустая строка вместо переменной. Поскольку константа с именем отсутствует,i
она преобразуетсяi
в строку и пытается получить доступ$worker['i']
, поскольку массивы PHP работают как ассоциативные массивы. Поскольку$worker['i']
значение не было установлено, оно возвращаетnull
.echo null
выводит пустую строку. Кроме того, как указано в опубликованном коде @asdf, в PHP принято использоватьcount
вместоsizeof
,sizeof
это просто псевдонимcount
.
Ответ №2:
for($i=0,$size=count($worker);$i<$size; $i)
{
echo $worker[$i];
}
Вы забыли ‘$’ int echo $worker[$i];
Комментарии:
1. @motsu: исходя из c , вы находите PHP раем.
Ответ №3:
Вы забыли знак доллара перед тем, как я вошел $worker[$i]
.
-редактировать-: Удалил вторую часть, возможно, я слишком устал 🙂
Комментарии:
1. Вторая часть бессмысленна, поскольку ее возвращаемое значение не используется.