2

次の 2 つの配列があるとします。

$array = Array("Julie","Clive","Audrey","Tom","Jim","Ben","Dave","Paul");
$mandt = Array(1,0,0,1,0,0,1,1);

番号は、名前が有効かどうかを示します。1 は有効です。0 は無効です。名前とechoその名前を確認し、"true"名前が有効"false"かどうか、そうでない場合は次のように確認する必要があります。

ジュリー: 真
クライブ: 偽
オードリー: 偽

等...

誰か助けてくれませんか?

ありがとう。

4

5 に答える 5

3

このforeach()ループのようなものですか?...

foreach($array as $key => $value){
    echo $value.": ";
    echo $mandt[$key] ? "True" : "False";
    echo "<br />";
}
于 2012-11-14T11:47:43.240 に答える
2
$values = array_combine($array, $mandt);
$values = array_map(function ($i) { return $i ? 'True' : 'False'; }, $values);

var_dump($values);

// or loop through them, or whatever
于 2012-11-14T11:50:57.510 に答える
2
for($i=0, $count=count($array); $i<$count; $i++){
    echo $array[$i] . ": " . ($mandt[$i]? "True":"False") . "<br/>";
}
于 2012-11-14T11:48:53.333 に答える
1

配列をループして比較する代わりに、次のように Hashtable のような配列を作成できます。

$arr = array(
    "Julie" => true,
    "Clive" => false,
    "Audrey" => false,
     "Tom" => true
     [...]
);

このようにして、次のようなものを実行できます。

if ($arr["Julie"]) {
    //Julie is a valid name!
} else {
    //Julie is not a valid name!
}

これは、配列をループするよりもはるかに効率的です。

于 2012-11-14T11:52:33.670 に答える
1

配列をループしてみませんか?

$array = Array("Julie","Clive","Audrey","Tom","Jim","Ben","Dave","Paul");
$mandt = Array(1,0,0,1,0,0,1,1);

$c = count($array);
for ($i = 0; i < $c; i++) {
  echo $array[$i] . ": " . (($mandt[$i] == 1)?"True":"False") . "\n";
}
于 2012-11-14T11:49:30.890 に答える