假设我有以下两个数组:
$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...
有人可以帮我吗?
谢谢。
所以像这样的foreach()
循环?...
foreach($array as $key => $value){
echo $value.": ";
echo $mandt[$key] ? "True" : "False";
echo "<br />";
}
for($i=0, $count=count($array); $i<$count; $i++){
echo $array[$i] . ": " . ($mandt[$i]? "True":"False") . "<br/>";
}
$values = array_combine($array, $mandt);
$values = array_map(function ($i) { return $i ? 'True' : 'False'; }, $values);
var_dump($values);
// or loop through them, or whatever
为什么不直接遍历数组?
$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";
}
您可以创建一个类似 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!
}
这将比遍历数组更有效。