[0] => Array

(
[1] => 0
[2] => 1636490
[3] => 20060502-B-000011
)
[1] => Array
(
[1] => 0
[2] => 9999999
[3] => 123156-B-000011
)
[2] => Array
(
[1] => 1
[2] => 99877851
[3] => 213223-B-000011
)

上記のような配列a,b,cがあり、その配列の[1]だけを抽出して
そこの値に1があったら変数dに1を代入してもしも1がなくて
すべて0なら変数dには0を代入したいのですがどうしたらいいでしょうか?

回答の条件
  • 1人2回まで
  • 登録:2006/05/17 17:03:18
  • 終了:2006/05/18 10:03:03

回答(3件)

id:sera_yr No.1

sera_yr回答回数123ベストアンサー獲得回数62006/05/17 17:35:01

ポイント37pt

こんにちは。

phpだとこんな感じでしょうか。

function chk_ary( $ary ) {

for( $i = 0; $i < count( $ary ); $i ++ ) {

$all_zero_flg = 1;

if( $ary[$i][1] !== 0 ) $all_zero_flg = 0;

$1ary[$i] = $ary[$i][1];

}

if( in_array( 1, $1ary ) ) {

return 1;

}

elseif( $all_zero_flg ) {

return 0;

}

else {

return -1;

}

}

$d = chk_ary( $ary );

id:hopefully

parse error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' inというエラーに

なってしまいます。

2006/05/17 18:02:52
id:PaulYamamoto No.2

Paul回答回数113ベストアンサー獲得回数22006/05/17 18:19:28

ポイント10pt

>上記のような配列a,b,cがあり

上記のようなというのは

2次元配列の変数が3つあると言う意味ですか?


>その配列の[1]だけを抽出して

って言うのは

$a[0][1]

$a[1][1]

$a[2][1]

を全て抽出するという意味でしょうか?


$d = 0;

foreach($a as $part) {

    if ($part[1] == 1) {

      $d = 1;

      break;

    }

}

これを2次元配列a,b,cに行えば良いのかな?

(質問文の意味がいまいち分かってないので的外れかも・・・)

id:sera_yr No.3

sera_yr回答回数123ベストアンサー獲得回数62006/05/17 18:28:33

ポイント33pt

初歩的なミスで申し訳ないです。

「$1ary」という変数名はまずかったですね。

$1aryという部分を$tmp_aryとすると上手くいくと思います。

id:hopefully

今度はNotice: Undefined offset: 1 in

というになりました。

2006/05/17 18:48:34

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

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

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

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

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