복붙노트

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

SQL

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

여기 내 배열에 대한 데이터를 당겨의 코드는

<?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를 사용하는 경우 ($ 데이터)는로 읽

Array ( [0] => Array ( [0] => Natural Chlid 1 [1] => Natural Chlid 2 [2] => Natural Chlid 3 ) ) 

나는과 같이하고 싶습니다 :

자연 자녀 1 자연 자녀 2 자연 자녀 3

해결법

  1. ==============================

    1.이 시도:

    이 시도:

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

    print_r의 대신 ($ 데이터)

  2. ==============================

    2.대신에

    대신에

    print_r($data);
    

    시험

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

    3.

    print("<pre>".print_r($data,true)."</pre>");
    
  4. ==============================

    4.나는 기본적인 기능을 가지고 :

    나는 기본적인 기능을 가지고 :

    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>";}
    
  5. ==============================

    5.그 var_export () 위해서 var_dump (의, 잊혀진 형제) 최고 출력을 가지고 있다고 생각 - 좀 더 콤팩트 :

    그 var_export () 위해서 var_dump (의, 잊혀진 형제) 최고 출력을 가지고 있다고 생각 - 좀 더 콤팩트 :

    echo "<pre>";
    var_export($menue);
    echo "</pre>";
    

    그런데 : 항상 사용 <전>에 대한 필요는 없습니다. 당신이 당신의 웹 페이지의 소스 코드를 살펴 때 위해 var_dump ()과 var_export ()는 이미 포맷되어 있습니다.

  6. ==============================

    6.보기 배열에 사람의 요구가 너무 냉각 경우)이 방법을 사용 ..이 브라우저 콘솔로 인쇄됩니다

    보기 배열에 사람의 요구가 너무 냉각 경우)이 방법을 사용 ..이 브라우저 콘솔로 인쇄됩니다

    function console($obj)
    {
        $js = json_encode($obj);
        print_r('<script>console.log('.$js.')</script>');
    }
    

    당신은 다음과 같이 사용할 수 있습니다 ..

    console($myObject);
    

    출력은 너무 어 냉각 .. 이렇게 될 것입니다!

  7. ==============================

    7.인 print_r ()는 디버깅 대부분이다. 당신은 배열을 통해 해당 형식, 루프를 인쇄하고, 요소를 출력합니다.

    인 print_r ()는 디버깅 대부분이다. 당신은 배열을 통해 해당 형식, 루프를 인쇄하고, 요소를 출력합니다.

    foreach($data as $d){
      foreach($d as $v){
        echo $v."\n";
      }
    }
    
  8. ==============================

    8.이 간단한 해결책이 될 수 있습니다 :

    이 간단한 해결책이 될 수 있습니다 :

    echo implode('<br>', $data[0]);
    
  9. ==============================

    9.

    foreach($array as $v) echo $v, PHP_EOL;
    

    UPDATE : 더 정교한 솔루션은 다음과 같습니다

     $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
                ]
            ]
        ]
    
  10. ==============================

    10.나는 디버깅 한 용도의 인 print_r을 가정합니다. 그때 Kint 같은 라이브러리를 사용하는 것이 좋습니다 것입니다. 이 읽을 수있는 형식으로 큰 배열을 표시 할 수 있습니다 :

    나는 디버깅 한 용도의 인 print_r을 가정합니다. 그때 Kint 같은 라이브러리를 사용하는 것이 좋습니다 것입니다. 이 읽을 수있는 형식으로 큰 배열을 표시 할 수 있습니다 :

    $data = [['Natural Child 1', 'Natural Child 2', 'Natural Child 3']];
    Kint::dump($data, $_SERVER);
    

  11. ==============================

    11.

    <?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];
    }
    ?>
    

    내 방문자에게 꽤 인쇄 된 배열을 보여주기 위해 이것을 사용

  12. ==============================

    12.아주 좋은 방법은 위해서 var_dump 함수를 사용하여, PHP에서 서식 배열을 인쇄합니다.

    아주 좋은 방법은 위해서 var_dump 함수를 사용하여, PHP에서 서식 배열을 인쇄합니다.

     $a = array(1, 2, array("a", "b", "c"));
     var_dump($a);
    
  13. ==============================

    13.나는 점점 키와 값이 사용     $ QW = mysqli_query ($ 연결, $ 쿼리);

    나는 점점 키와 값이 사용     $ QW = mysqli_query ($ 연결, $ 쿼리);

    while ( $ou = mysqli_fetch_array($qw) )
    {
        foreach ($ou as $key => $value) 
        {
                echo $key." - ".$value."";
        }
        echo "<br/>";
    }
    
  14. ==============================

    14.난 그냥 온라인 도구를 사용합니다.

    난 그냥 온라인 도구를 사용합니다.

  15. ==============================

    15.쉽고 빠른 및-JSON 표현을위한 한 - 라이너 :

    쉽고 빠른 및-JSON 표현을위한 한 - 라이너 :

        echo json_encode($data, JSON_PRETTY_PRINT);
    

    이미 프로젝트에 대한 작곡가를 사용하는 경우, 심포니 / YAML 및 필요합니다

        echo Yaml::dump($data);
    
  16. ==============================

    16.

    echo '<pre>';
    foreach($data as $entry){
        foreach($entry as $entry2){
            echo $entry2.'<br />';
        }
    }
    
  17. ==============================

    17.당신이 내파를 사용할 수있는 단일 어레이의 경우, 인쇄 할 클리너 결과가 있습니다.

    당신이 내파를 사용할 수있는 단일 어레이의 경우, 인쇄 할 클리너 결과가 있습니다.

    <?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/>';
    }
    ?>
    
  18. ==============================

    18.이 시도는 콘솔 응용 프로그램에서 서식) (출력 인 print_r 개선하기 위해 :

    이 시도는 콘솔 응용 프로그램에서 서식) (출력 인 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] => ''
    
  19. from https://stackoverflow.com/questions/5393085/display-an-array-in-a-readable-hierarchical-format by cc-by-sa and MIT license