web-dev-qa-db-ja.com

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

これはします

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

に配列の内容を見る を使うことができます。

1) print_r($array);またはうまく配列された配列が欲しいならば:

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

2) データ型や長さなど、配列内の内容に関する詳細情報を取得するにはvar_dump($array)を使用します。

3) あなたはphpのforeach();を使って配列をループして、希望する出力を得ることができます。 phpのドキュメントWebサイトのforeachに関する詳細情報:
http://in3.php.net/manual/en/control-structures.foreach.php

401

あなたがフォーマットなしでコンテンツを知りたいだけなら(例えばデバッグ目的で)私はこれを使います:

echo json_encode($anArray);

これは、かなり人間に読めるJSONとしてそれを示すでしょう。

82
Mark E

人間が読める形式で印刷するために print_r を使用しましたか?

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

またはecho $results['data'][1]['type'];

15
Rezigned

それぞれが機能を持つ配列の内容を印刷するための複数の機能があります。

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 code。

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

ブラウザは複数の空白文字(改行を含む)を単一のスペース( answer )に圧縮するので、正しいフォーマットで結果を表示するには、上記の関数を<pre></pre>でラップする必要があります。


特定の条件で配列の内容を印刷する方法もあります。

echo

1つ以上の文字列を出力します。そのため、echoを使用して配列の内容を印刷したい場合は、配列をループ処理し、配列項目を印刷するにはechoを使用する必要があります。

foreach ($arr as $key=>$item){
    echo "$key => $item <br>";
}
0 => a 
1 => b 
2 => c 
14
Mohammad
<?php
echo "<pre>";
 print_r($results); 
echo "</pre>";
?>

var_dump()はあなたにもののタイプとその中にあるものを表示します。

var_dump($results);

Foreachループ

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

データを配列に入れるためにforループを配置する必要はありません。次のようにして簡単に実行できます。

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

私はこれが古い質問であることを知っています、しかしあなたがパース可能なPHP表現が欲しいならあなたは使うことができます:

$parseablePhpCode = var_export($yourVariable,true);

エクスポートしたコードを(return文を使って)file.phpにエコーするなら、

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

ただし、(それぞれについて)PHPの回答は非推奨であり、最新のphpバージョンでは動作しません。

通常、配列を文字列に変換してどこかに記録します。おそらくデバッグやテストなどです。

私は配列を文字列に変換します:

$ Output = implied( "、"、$ SourceArray);

一方、

$ outputは結果です(文字列が生成される場所)

「、」:セパレーター(各配列フィールド間)

$ SourceArray:はソース配列です。

これが役立つことを願っています

0
Heider Sati