多次元配列に条件をつけて取り出したい

$app = Array ( [data] => Array
( [0] => Array ( [id] => 1)
[1] => Array ( [id] => 2 )
[2] => Array ( [id] => 3 )
[3] => Array ( [installed] => 1 [id] => 4 )
[4] => Array ( [id] => 5 ) )

この多次元配列から [installed] => 1、 の条件に当てはまる [id] を
取得したいのですがどうすれば良いのでしょうか?
※今回で言えば 4 を取得したいです。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/06/03 22:56:37
  • 終了:2012/06/04 11:19:56

ベストアンサー

id:Cherenkov No.3

Cherenkov回答回数1502ベストアンサー獲得回数4922012/06/04 04:50:16

直球

<?php
$app = Array(
		'data' => Array(
			Array('id' => 1),
			Array('id' => 2),
			Array('id' => 3),
			Array(
				'installed' => 1,
				'id' => 4
			),
			Array('id' => 5)
		)
	);
foreach($app['data'] as $data) {
	if (isset($data['installed']) && $data['installed'] == 1)
		$id = $data['id'];
}
echo $id;
id:taishi5410

回答ありがとうございました!

2012/06/04 11:19:50

その他の回答(2件)

id:taknt No.1

きゃづみぃ回答回数13481ベストアンサー獲得回数11982012/06/03 23:01:28

http://www.php.net/manual/ja/control-structures.foreach.php

ループして 一つ一つ調べるしかないんじゃないでしょうか?

id:papa-tomo No.2

パパトモ回答回数361ベストアンサー獲得回数1072012/06/03 23:31:51

PHPならarray_searchを使えば良いのではないでしょうか。

http://php.quus.net/array/array_search.php

id:Cherenkov No.3

Cherenkov回答回数1502ベストアンサー獲得回数4922012/06/04 04:50:16ここでベストアンサー

直球

<?php
$app = Array(
		'data' => Array(
			Array('id' => 1),
			Array('id' => 2),
			Array('id' => 3),
			Array(
				'installed' => 1,
				'id' => 4
			),
			Array('id' => 5)
		)
	);
foreach($app['data'] as $data) {
	if (isset($data['installed']) && $data['installed'] == 1)
		$id = $data['id'];
}
echo $id;
id:taishi5410

回答ありがとうございました!

2012/06/04 11:19:50

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません