アプリ版:「スタンプのみでお礼する」機能のリリースについて

PHP勉強中の初心者です。

初歩的な質問なのですが以下のような配列から「りんご」、「バナナ」などの値をすべて取得するにはどうすればいいのでしょうか?

Array
(
[input] => 自転車
[status] => 0
[result] => Array
(
[0] => Array
(
[0] => りんご
)

[1] => Array
(
[0] => バナナ
)

[2] => Array
(
[0] => ミカン
)

[3] => Array
(
[0] => オレンジ
)

[4] => Array
(
[0] => ブドウ
)

[5] => Array
(
[0] => パイナップル
)

)

)

A 回答 (2件)

取得したいとは何がしたいのでしょうか?


とりあえずは普通にforeachで回してデータを拾うのが楽かもしれません

<?PHP
$a=Array(
"input" => "自転車"
,"status" => 0
,"result" => Array(
0 => Array(0 => "りんご")
,1 => Array(0 => "バナナ")
,2 => Array(0 => "ミカン")
,3 => Array(0 => "オレンジ")
,4 => Array(0 => "ブドウ")
,5 => Array(0 => "パイナップル")
)
);
$b=array();
foreach($a["result"] as $array){
$b[]=$array[0];
}
print_r($b);
?>
    • good
    • 0
この回答へのお礼

無事に取得できました。ありがとうございました助かりました。

お礼日時:2012/12/27 22:01

次の方法で値が取得できます。



// サンプルデータ
$data = array("input" => "自転車", "status" => 0, "result" => array());
array_push($data["result"], array("りんご"));
array_push($data["result"], array("ばなな"));
array_push($data["result"], array("ミカン"));
array_push($data["result"], array("オレンジ"));
array_push($data["result"], array("ブドウ"));
array_push($data["result"], array("パイナップル"));

// result 値を別の変数 basket に取得
$basket = array();
foreach($data["result"] as $value) {
array_push($basket, $value[0]);
}
var_dump($basket);



何故、キー result の値は配列型にもかかわらず、
そのなかに果物名の値1つだけを持つ配列型の変数にして格納しているのでしょうか?
特に理由がなければ、直接、result の値に果物名を格納しては如何でしょうか?

$data = array("input" => "自転車", "status" => 0, "result" => array("りんご","ばなな","ミカン","オレンジ","ブドウ","パイナップル"));
var_dump($data["result"]);
    • good
    • 0
この回答へのお礼

返り値がこういう形式なので自分で配列に格納はできないのです。

もっと単純な構造なら自分のレベルでもすんなり取得できたのですが(汗)

参考になりました。ありがとうございました。

お礼日時:2012/12/27 22:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!