Вот код для извлечения данных для моего массива
<?php
$link = mysqli_connect('localhost', 'root', '', 'mutli_page_form');
$query = "SELECT * FROM wills_children WHERE will=73";
$result = mysqli_query($link, $query) or die(mysqli_error($link));
if ($result = mysqli_query($link, $query)) {
/* fetch associative array */
if($row = mysqli_fetch_assoc($result)) {
$data = unserialize($row['children']);
}
/* free result set */
mysqli_free_result($result);
}
?>
Когда я использую print_r ($ data), он читается как:
Array ( [0] => Array ( [0] => Natural Chlid 1 [1] => Natural Chlid 2 [2] => Natural Chlid 3 ) )
Я бы хотел, чтобы это читалось так:
Естественный ребенок 1
Естественный ребенок 2
Естественный ребенок 3
<?php foreach($data[0] as $child) { echo $child . "<br />"; }?>
это сработало, спасибо Брайану!<pre>print_r($data)</pre>
. Всегда интересно увидеть новый комментарий к ответу 5+ летней давности! :)Вместо того
print_r($data);
пытаться
print "<pre>"; print_r($data); print "</pre>";
источник
true
в качестве второго параметра print_r, чтобы получить данные какstring
. Теперь это можно сделатьreturn '<pre>'.print_r(User::all(), true);
из файла маршрутов.print("<pre>".print_r($data,true)."</pre>");
источник
У меня основная функция:
function prettyPrint($a) { echo "<pre>"; print_r($a); echo "</pre>"; } prettyPrint($data);
РЕДАКТИРОВАТЬ: оптимизированная функция
function prettyPrint($a) { echo '<pre>'.print_r($a,1).'</pre>'; }
РЕДАКТИРОВАТЬ: оптимизированная функция Moar с поддержкой пользовательских тегов
function prettyPrint($a, $t='pre') {echo "<$t>".print_r($a,1)."</$t>";}
источник
echo '<pre>',print_r($a,1),'</pre>';
Я думаю, что
var_export()
у забытого братаvar_dump()
лучший выход - он компактнее:echo "<pre>"; var_export($menue); echo "</pre>";
Кстати: использовать его не всегда
<pre>
.var_dump()
иvar_export()
уже отформатированы, когда вы просматриваете исходный код своей веб-страницы.источник
если кому-то нужно так круто просматривать массивы;) используйте этот метод .. это напечатает в консоли вашего браузера
function console($obj) { $js = json_encode($obj); print_r('<script>console.log('.$js.')</script>'); }
можно использовать вот так ..
console($myObject);
Выход будет такой .. круто ах !!
источник
foreach($array as $v) echo $v, PHP_EOL;
ОБНОВЛЕНИЕ : более сложным решением было бы:
$test = [ 'key1' => 'val1', 'key2' => 'val2', 'key3' => [ 'subkey1' => 'subval1', 'subkey2' => 'subval2', 'subkey3' => [ 'subsubkey1' => 'subsubval1', 'subsubkey2' => 'subsubval2', ], ], ]; function printArray($arr, $pad = 0, $padStr = "\t") { $outerPad = $pad; $innerPad = $pad + 1; $out = '[' . PHP_EOL; foreach ($arr as $k => $v) { if (is_array($v)) { $out .= str_repeat($padStr, $innerPad) . $k . ' => ' . printArray($v, $innerPad) . PHP_EOL; } else { $out .= str_repeat($padStr, $innerPad) . $k . ' => ' . $v; $out .= PHP_EOL; } } $out .= str_repeat($padStr, $outerPad) . ']'; return $out; } echo printArray($test);
Это распечатывает:
источник
print_r()
в основном для отладки. Если вы хотите распечатать его в этом формате, выполните цикл по массиву и распечатайте элементы.foreach($data as $d){ foreach($d as $v){ echo $v."\n"; } }
источник
$data
представляет собой массив массивов.Это может быть более простое решение:
echo implode('<br>', $data[0]);
источник
Я предполагаю, что для отладки используется print_r. Затем я бы предложил использовать такие библиотеки, как Kint . Это позволяет отображать большие массивы в читаемом формате:
$data = [['Natural Child 1', 'Natural Child 2', 'Natural Child 3']]; Kint::dump($data, $_SERVER);
источник
<?php //Make an array readable as string function array_read($array, $seperator = ', ', $ending = ' and '){ $opt = count($array); return $opt > 1 ? implode($seperator,array_slice($array,0,$opt-1)).$ending.end($array) : $array[0]; } ?>
Я использую это, чтобы показать посетителям красивый печатный массив
источник
Очень хороший способ распечатать форматированный массив на php, используя функцию var_dump.
$a = array(1, 2, array("a", "b", "c")); var_dump($a);
источник
Я использую это для получения ключей и их значений $ qw = mysqli_query ($ connection, $ query);
while ( $ou = mysqli_fetch_array($qw) ) { foreach ($ou as $key => $value) { echo $key." - ".$value.""; } echo "<br/>"; }
источник
Я бы просто использовал онлайн-инструменты.
сначала сделайте print_r (your_array)
Во-вторых, скопируйте результат и вставьте в http://phillihp.com/toolz/php-array-beautifier/
источник
Однострочный для быстрого и легкого представления JSON:
echo json_encode($data, JSON_PRETTY_PRINT);
Если вы уже используете композитор для проекта, потребуйте symfony / yaml и:
echo Yaml::dump($data);
источник
echo '<pre>'; foreach($data as $entry){ foreach($entry as $entry2){ echo $entry2.'<br />'; } }
источник
Для одиночных массивов вы можете использовать implode, он дает более чистый результат для печати.
<?php $msg = array('msg1','msg2','msg3'); echo implode('<br />',$msg); echo '<br />----------------------<br/>'; echo nl2br(implode("\n",$msg)); echo '<br />----------------------<br/>'; ?>
Для многомерных массивов вам нужно объединить какой-то цикл.
<?php $msgs[] = $msg; $msgs[] = $msg; $msgs[] = $msg; $msgs[] = $msg; $msgs[] = $msg; foreach($msgs as $msg) { echo implode('<br />',$msg); echo '<br />----------------------<br/>'; } ?>
источник
Это пытается улучшить
print_r()
форматирование вывода в консольных приложениях:function pretty_printr($array) { $string = print_r($array, TRUE); foreach (preg_split("/((\r?\n)|(\r\n?))/", $string) as $line) { $trimmed_line = trim($line); // Skip useless lines. if (!$trimmed_line || $trimmed_line === '(' || $trimmed_line === ')' || $trimmed_line === 'Array') { continue; } // Improve lines ending with empty values. if (substr_compare($trimmed_line, '=>', -2) === 0) { $line .= "''"; } print $line . PHP_EOL; } }
Пример:
[activity_score] => 0 [allow_organisation_contact] => 1 [cover_media] => Array [image] => Array [url] => '' [video] => Array [url] => '' [oembed_html] => '' [thumb] => Array [url] => '' [created_at] => 2019-06-25T09:50:22+02:00 [description] => example description [state] => published [fundraiser_type] => anniversary [end_date] => 2019-09-25 [event] => Array [goal] => Array [cents] => 40000 [currency] => EUR [id] => 37798 [your_reference] => ''
источник