检查数组与另一个数组

时间:2012-11-14 11:46:30

标签: php arrays

说我有以下两个数组:

$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"如果不是,即:

  朱莉:真的   克莱夫:假的   奥德里:错误

等等...

有人可以帮帮我吗?

感谢。

5 个答案:

答案 0 :(得分:3)

这样的foreach()循环?...

foreach($array as $key => $value){
    echo $value.": ";
    echo $mandt[$key] ? "True" : "False";
    echo "<br />";
}

答案 1 :(得分:2)

for($i=0, $count=count($array); $i<$count; $i++){
    echo $array[$i] . ": " . ($mandt[$i]? "True":"False") . "<br/>";
}

答案 2 :(得分: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

答案 3 :(得分: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";
}

答案 4 :(得分: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!
}

这比循环遍历数组更有效。