Как отобразить или напечатать массив в PHP?

У меня есть этот массив

Array
(
  [data] => Array
    (
      [0] => Array
        (
          [page_id] => 204725966262837
          [type] => WEBSITE
        )

      [1] => Array
        (
          [page_id] => 163703342377960
          [type] => COMMUNITY
        )
      )
)

Мой вопрос: как я могу просто откликнуться на контент без этой структуры? Я попробовал

foreach ($results as $result) {
    echo $result->type; 
    echo "<br>";
} 

Ответ 1

Это сделает

foreach($results['data'] as $result) {
    echo $result['type'], '<br>';
}

Ответ 2

В см. содержимое массива, которое вы можете использовать.

1) print_r($array); или если вы хотите красиво отформатированный массив, то:

echo '<pre>'; print_r($array); echo '</pre>';

2) используйте var_dump($array), чтобы получить больше информации о содержимом в массиве, таком как тип данных и длина.

3) вы можете связать массив с помощью php foreach(); и получить желаемый результат. больше информации о foreach в веб-сайте документации php:
http://in3.php.net/manual/en/control-structures.foreach.php

Ответ 3

Если вы просто хотите знать контент без формата (например, для цели отладки), я использую это:

echo json_encode($anArray);

Это покажет его как JSON, который достаточно читается человеком.

Ответ 4

Есть несколько функций для печати содержимого массива, каждый из которых имеет свои особенности.

print_r()

Печатает удобочитаемую информацию о переменной.

$arr = ["a", "b", "c"];
echo "<pre>";
print_r($arr);
echo "</pre>";
Array
(
    [0] => a
    [1] => b
    [2] => c
)


var_dump()

Отображает структурированную информацию о выражениях, которая включает его тип и значение.

echo "<pre>";
var_dump($arr);
echo "</pre>";
array(3) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [2]=>
  string(1) "c"
}


var_export()

Отображает структурированную информацию о данной переменной, возвращаемое представление которой является допустимым кодом PHP.

echo "<pre>";
var_export($arr);
echo "</pre>";
array (
  0 => 'a',
  1 => 'b',
  2 => 'c',
)

Обратите внимание, что, поскольку браузер объединяет несколько пробельных символов (включая символы новой строки) в один пробел (ответ), вам нужно поместить вышеупомянутые функции в <pre></pre> чтобы отобразить результат в правильном формате.


Также есть еще один способ печати содержимого массива с определенными условиями.

echo

Выведите одну или несколько строк. Поэтому, если вы хотите напечатать содержимое массива с помощью echo, вам нужно перебрать массив и в цикле использовать echo для печати элементов массива.

foreach ($arr as $key=>$item){
    echo "$key => $item <br>";
}
0 => a 
1 => b 
2 => c 

Ответ 5

Попробовал ли вы использовать print_r, чтобы напечатать его в удобочитаемой форме?

Ответ 6

foreach($results['data'] as $result) {
    echo $result['type'], '<br />';
}

или echo $results['data'][1]['type'];

Ответ 7

Вы можете использовать print_r, var_dump и var_export функции php:

print_r: преобразовать в читабельную форму человека

<?php
echo "<pre>";
 print_r($results); 
echo "</pre>";
?>

var_dump(): покажет вам тип вещи и то, что в ней.

var_dump($results);

foreach loop: используя для каждого цикла вы можете перебирать каждое значение массива.

foreach($results['data'] as $result) {
    echo $result['type'].'<br>';
}

Ответ 8

Я обычно использую для отладки:

echo "<pre>"; 
 print_r($array); 
echo "/<pre>"; 

Это приведет к легко читаемому дампу массива.

Ответ 9

Вам не нужно ставить цикл for, чтобы видеть данные в массиве, вы можете просто сделать следующее:

<?php
echo "<pre>";
 print_r($results); 
echo "</pre>";
?>

Ответ 10

Я знаю, что это старый вопрос, но если вам нужно синтаксическое представление PHP, вы можете использовать:

$parseablePhpCode = var_export($yourVariable,true);

Если вы эхо экспортируете код в файл .php(с оператором return), вы можете потребовать его как

$yourVariable = require('file.php');

Ответ 11

Вы можете использовать var_dump($array);

Он сбрасывает всю информацию о переменной и очень полезен.

Ответ 12

[1] => Array
        (
            [id] => 1
            [modulename] => PDFMaker
            [app_name] => PDF Maker Free
            [zipname] => PDFMakerFree_700_0_4.zip
            [version] => 700.0.5
            [description] => 
You can use all Fields (including custom)


Personalized Invoice, Quotes, Sales Orders and Purchase Orders formats


Personalized Product Profiles with image


Terms and Conditions

Company and User information
Translation from Global and Module languages
Print from list view module Define Page format (A3, A4, A5, A6, Letter, Legal and own format is possible)
Using Products images in Invoice, Quotes, Purchase or Sales Order

            [demolink] => http://demo.crmtiger.com/index.php?vt_version=v7
            [videolink] => https://www.youtube.com/embed/pDcFEEiqf6o
            [status] => installed
        )

    [2] => Array
        (
            [id] => 2
            [modulename] => CTLabelsUpdate
            [app_name] => Label Manager
            [zipname] => CTLabelsUpdate7.zip
            [version] => 1.600.1.1
            [description] => 
Label manager helps company to change label and other field information as per their needs.

            [demolink] => http://demo.crmtiger.com/index.php?vt_version=v7extension&extension=v7labelmanager
            [videolink] => https://www.youtube.com/embed/pDcFEEiqf6o
            [status] => deleted
        )

    [3] => Array
        (
            [id] => 3
            [modulename] => CTForcasting
            [app_name] => Sales Forecasting For vTiger�
            [zipname] => CTForcasting.zip
            [version] => 
            [description] => 

Sales Forecasting extension used for company to forecast sales for sales and marketing team.

У меня та же проблема, я хочу показать все это на веб-странице. Как я могу сделать?

Ответ 13

Однако я проверил ответ (для каждого) в PHP устарела и больше не работает с последними версиями php.

Обычно мы конвертируем массив в строку, чтобы записать его куда-нибудь, возможно, отладку или тестирование и т.д.

Я бы преобразовал массив в строку, выполнив:

$ Output = подразумеваемый (",", $ SourceArray);

В то время как:

$ output - это результат (где будет сгенерирована строка

",": это разделитель (между каждым полем массива

$ SourceArray: ваш исходный массив.

надеюсь, это поможет

Ответ 14

Проходя по кругу и печатая все значения ассоциативного массива, вы можете использовать цикл foreach, например так:

foreach($results as $x => $value) {
    echo $value;
}