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",即:

朱莉:对
克莱夫:
错 奥德丽:错

ETC...

有人可以帮我吗?

谢谢。

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
for($i=0, $count=count($array); $i<$count; $i++){
    echo $array[$i] . ": " . ($mandt[$i]? "True":"False") . "<br/>";
}
于 2012-11-14T11:48:53.333 回答
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 回答
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 回答
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 回答