人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

[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を代入したいのですがどうしたらいいでしょうか?

●質問者: hopefully
●カテゴリ:就職・転職 コンピュータ
✍キーワード:変数 抽出 配列
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● sera_yr
●37ポイント

こんにちは。

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 );

◎質問者からの返答

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

なってしまいます。


2 ● Paul
●10ポイント

>上記のような配列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に行えば良いのかな?

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


3 ● sera_yr
●33ポイント

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

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

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

◎質問者からの返答

今度はNotice: Undefined offset: 1 in

というになりました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ