Ответ 1
Это сделает
foreach($results['data'] as $result) {
echo $result['type'], '<br>';
}
У меня есть этот массив
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>";
}
Это сделает
foreach($results['data'] as $result) {
echo $result['type'], '<br>';
}
В см. содержимое массива, которое вы можете использовать.
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
Если вы просто хотите знать контент без формата (например, для цели отладки), я использую это:
echo json_encode($anArray);
Это покажет его как JSON, который достаточно читается человеком.
Есть несколько функций для печати содержимого массива, каждый из которых имеет свои особенности.
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
Попробовал ли вы использовать print_r
, чтобы напечатать его в удобочитаемой форме?
foreach($results['data'] as $result) {
echo $result['type'], '<br />';
}
или echo $results['data'][1]['type'];
Вы можете использовать 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>';
}
Я обычно использую для отладки:
echo "<pre>";
print_r($array);
echo "/<pre>";
Это приведет к легко читаемому дампу массива.
Вам не нужно ставить цикл for, чтобы видеть данные в массиве, вы можете просто сделать следующее:
<?php
echo "<pre>";
print_r($results);
echo "</pre>";
?>
Я знаю, что это старый вопрос, но если вам нужно синтаксическое представление PHP, вы можете использовать:
$parseablePhpCode = var_export($yourVariable,true);
Если вы эхо экспортируете код в файл .php(с оператором return), вы можете потребовать его как
$yourVariable = require('file.php');
Вы можете использовать var_dump($array);
Он сбрасывает всю информацию о переменной и очень полезен.
[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.
У меня та же проблема, я хочу показать все это на веб-странице. Как я могу сделать?
Однако я проверил ответ (для каждого) в PHP устарела и больше не работает с последними версиями php.
Обычно мы конвертируем массив в строку, чтобы записать его куда-нибудь, возможно, отладку или тестирование и т.д.
Я бы преобразовал массив в строку, выполнив:
$ Output = подразумеваемый (",", $ SourceArray);
В то время как:
$ output - это результат (где будет сгенерирована строка
",": это разделитель (между каждым полем массива
$ SourceArray: ваш исходный массив.
надеюсь, это поможет
Проходя по кругу и печатая все значения ассоциативного массива, вы можете использовать цикл foreach
, например так:
foreach($results as $x => $value) {
echo $value;
}