foreach ($tests as $test) {
$var = $test['somekey'];
}
echo $var;
foreach のすべての値を php 変数に取得するにはどうすればよいですか? 最後の変数のみをピックアップしているようです。
foreach ($tests as $test) {
$var = $test['somekey'];
}
echo $var;
foreach のすべての値を php 変数に取得するにはどうすればよいですか? 最後の変数のみをピックアップしているようです。
反復ごとに $var を上書きしています。次のようにドットを使用すると、上書きではなく追加されます。
$var .= $test['somekey'];
どうですか:
$data = array() ;
foreach ($tests as $test) {
$data[] = $test['somekey'];
}
echo implode(" ; ", $data) ;
探している答えは、何をしたいかによって異なります。配列が必要な場合は、次を使用します。
$var = array();
foreach ($tests as $test) {
$var[] = $test['somekey'];
}
print_r($var);
または、PHP バージョン >= 5.5.0 を使用している場合は、次を使用できます。
$var = array_column($tests, $test);
文字列が必要な場合は、次を使用します。
$var = "";
foreach ($tests as $test) {
$var .= $test['somekey'];
}
print_r($var);
番号が必要な場合は、次を使用します。
$var = 0;
foreach ($tests as $test) {
$var += $test['somekey'];
}
print_r($var);
の代わりに任意の代入演算子+=
を使用して、必要なことを行うこともできます。
あなたが試すことができます :
$var = array_map(function ($v) {
return $v['somekey'];
}, $tests);
echo implode(PHP_EOL, $var);
最後の変数のみを取得しているようです
これ$var
は配列ではなく変数だからです。同じ変数を複数回オーバーライドしているだけです。残る値は最後の値だけです。
$var
コード内で配列に変換します。
$var = new array();
次にarray_push
、配列に値を追加するようなものを使用します
foreach ($tests as $test) {
array_push($var, $test['somekey']);
}
最後に、値を出力したい場合があります。echo
配列を印刷する理想的な方法ではありません。タグで囲まれたprint_rまたはvar_dumpを使用することをお勧めします。<pre>
echo ("<pre>");
var_dump($var);
echo ("</pre>");