0

多くの情報を含む配列があります。いくつかの情報を抽出したい:

*文字列へ *新しい配列へ

文字列に対してこれを試しました:

$output;
foreach ($response->data as $post){
    $output = $output . $post->link;
}
echo $output;

ただし、 foreach 内の $output は未定義です。

これは良い解決策ですか?その場合、正しいスコープで変数を宣言するにはどうすればよいですか?

4

7 に答える 7

6

$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;
于 2013-08-19T11:38:53.623 に答える
0

で使用する前に変数を定義する必要がありますforeach。お気に入り:

$output="";

それ以外の

$output;
于 2013-08-19T11:54:23.813 に答える
0

このコードを試してください

$output = '';
foreach ($response->data as $post){
    $output = $output . $post->link;
}
echo $output;

.

于 2013-08-19T11:37:59.473 に答える
0
$output = '';
foreach ($response->data as $post){
    $output .= $post->link;
}
echo $output;

またはあなたが使用することができますjoin

$output = join('',$response->data);
于 2013-08-19T11:38:07.597 に答える
0

試す

$output = '';
foreach ($response->data as $post){
    $output .= $post->link;
}
echo $output;
于 2013-08-19T11:38:41.573 に答える
0

のようにしてみてください

$output = '';
foreach ($response->data as $post){
    $output .= $post->link;
}
echo $output;

最初に $output 値を null として初期化し、次に foreach ループでのみ結果を $output に連結する必要があります。

于 2013-08-19T11:39:01.980 に答える
0
$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;
于 2013-08-19T11:45:03.313 に答える