多くの情報を含む配列があります。いくつかの情報を抽出したい:
*文字列へ *新しい配列へ
文字列に対してこれを試しました:
$output;
foreach ($response->data as $post){
$output = $output . $post->link;
}
echo $output;
ただし、 foreach 内の $output は未定義です。
これは良い解決策ですか?その場合、正しいスコープで変数を宣言するにはどうすればよいですか?
多くの情報を含む配列があります。いくつかの情報を抽出したい:
*文字列へ *新しい配列へ
文字列に対してこれを試しました:
$output;
foreach ($response->data as $post){
$output = $output . $post->link;
}
echo $output;
ただし、 foreach 内の $output は未定義です。
これは良い解決策ですか?その場合、正しいスコープで変数を宣言するにはどうすればよいですか?
$output
最初に変数を初期化していないため、エラーが表示されます。
$output = "";
代わりに試してください。
しかし一方で、より洗練された解決策は、PHP の組み込みimplode()
メソッドを使用することです。
マニュアル: http://php.net/manual/en/function.implode.php
次のようなことができます。
$output = implode(" ", $response->data);
echo $output;
アップデート
連想配列を「内破」したい場合、この質問に対するlinepoglの回答は良い例を提供します: PHP で連想配列を内破する
更新 2
->link
質問の一部を実際に処理する更新されたコードは次のとおりです。
$response_array = array();
foreach ($response->data as $post) {
$response_array[] = $post->link;
}
$output = implode(" ", $response_array);
echo $output;
で使用する前に変数を定義する必要がありますforeach
。お気に入り:
$output="";
それ以外の
$output;
このコードを試してください
$output = '';
foreach ($response->data as $post){
$output = $output . $post->link;
}
echo $output;
.
$output = '';
foreach ($response->data as $post){
$output .= $post->link;
}
echo $output;
またはあなたが使用することができますjoin
$output = join('',$response->data);
試す
$output = '';
foreach ($response->data as $post){
$output .= $post->link;
}
echo $output;
のようにしてみてください
$output = '';
foreach ($response->data as $post){
$output .= $post->link;
}
echo $output;
最初に $output 値を null として初期化し、次に foreach ループでのみ結果を $output に連結する必要があります。
$output = array();
foreach ($response->data as $post){
$output[] = $post->link;
}
foreach( $output as $key => $value ){
echo $value;
}
あなたのコードにあなたがするかもしれません:
$output = NULL;
foreach ($response->data as $post){
$output .= $post->link;
}
echo $output;