Я очень новичок в PHP и надеюсь, что вы сможете мне помочь в этом.
Я извлекаю некоторые данные из SQL и пытаюсь создать массив, который я хочу повторить на странице.
Когда я повторяю результат из следующего ( $output
), это возвращает только слово «массив», в котором элементы, которые я пытаюсь добавить к нему.
Может ли кто-нибудь сказать мне, что я делаю неправильно здесь, и дать мне короткое объяснение?
$c = ""; $i = 0; $arr = array(); $output = '' foreach ($objNames->names as $names) { $c = "<img src='images/photos/photo_" . str_replace(" ", "_", $names->member) . ".png' alt='' class='clickable flagLink trackHC' /> " . $names->member . " "; array_push($arr, $c); $i++; } if($i != 0) { $output = $arr; } <div id="output"><?php echo $output; ?></div>
Большое спасибо за любую помощь, Майк.
Вы не можете использовать только эхо-массивы.
Вы должны пропустить его с помощью foreach, например:
$c = ""; $i = 0; $arr = array(); $output = '' foreach ($objNames->names as $names) { $c = "<img src='images/photos/photo_" . str_replace(" ", "_", $names->member) . ".png' alt='' class='clickable flagLink trackHC' /> " . $names->member . " "; array_push($arr, $c); $i++; } if($i != 0) { $output = $arr; } foreach($output as $row) { ?> <div id="output"><?php echo $row; ?></div> <?php }
Это должно сработать для вас!
Массив должен быть напечатан с использованием:
print_r($arrayValue)
вы также можете сохранить значение печати ( EDITED ):
$x = print_r($arrayValue, true)
но я предпочитаю путь json, если он предназначен для ведения журнала:
echo json_encode($arrayValue)
имея в виду, что каждое значение должно быть json-сериализуемым.
…
Выполнение простого echo $arrayValue
всегда будет печатать слово «Array» без какого-либо контента. Да, это немного неинтуитивно (поскольку другие языки, такие как python, не ведут себя так), но это то, что есть.
Если вы хотите просто просмотреть / распечатать содержимое своего массива, попробуйте следующее:
print_r ($output);