[php] 읽을 수있는 / 계층 적 형식으로 배열 표시

다음은 내 배열의 데이터를 가져 오는 코드입니다.

<?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



답변

이 시도:

foreach($data[0] as $child) {
   echo $child . "\n";
}

대신에 print_r($data)


답변

대신에

print_r($data);

시험

print "<pre>";
print_r($data);
print "</pre>";


답변

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>";}


답변

나는 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);

다음과 같이 출력됩니다.

    [
        key1 => val1
        key2 => val2
        key3 => [
            subkey1 => subval1
            subkey2 => subval2
            subkey3 => [
                subsubkey1 => subsubval1
                subsubkey2 => subsubval2
            ]
        ]
    ]