提问人:Denis 提问时间:1/31/2016 更新时间:1/31/2016 访问量:67
数组组合不适用于变量
array combine not working on variable
问:
我尝试了这个脚本,结果是真的
$a = array('Allow','Block');
$b = array('yes','no');
$c=array_combine($a,$b);
while (list($key, $value) = each($c)) {
echo "$key: $value \n";
}
真实结果:
允许:是 阻止:否
但是当我在数组中使用变量时
$val1 = "'Allow','Block'";
$val2 = "'yes','no'";
$a = array($val1);
$b = array($val2);
结果是不同的:
'Allow','Block': '是','否'
问题是我如何才能产生第一个结果,因为我从动态变量中获得了文本
答:
1赞
user5570620
1/31/2016
#1
请尝试以下代码。
$val1 = "Allow,Block";
$val2 = "yes,no";
$a = explode(',',$val1);
$b = explode(',', $val2);
$c=array_combine($a,$b);
while (list($key, $value) = each($c)) {
echo "$key: $value \n";
}
评论
0赞
Denis
1/31/2016
对不起,伙计,好久不见了,这个论坛很有帮助。我无法解决我在 Google 搜索中的问题。因为我只是傻乎乎的剧本小子......谢谢你们拯救了我的一天:D这些答案是有效的!
2赞
Radek Adamiec
1/31/2016
#2
您不能像第二个示例中那样使用数组。您可能应该尝试如下操作:
$val1 = "Allow,Block";
$val2 = "yes,no";
$a = explode(',',$val1);
$b = explode(',', $val2);
1赞
devpro
1/31/2016
#3
您还可以使用简单的 foreach 获得真实结果,例如:
$a = array('Allow','Block');
$b = array('yes','no');
$trueResult = array();
foreach($a as $key => $value){
$trueResult[$value] = $b[$key];
}
foreach($trueResult as $key => $val){
echo $key . "=". $val."<br>";
}
1赞
Endijs
1/31/2016
#4
$val1 = "'Allow','Block'";
$val2 = "'yes','no'";
$val1 = str_replace("'", "", $val1);
$val2 = str_replace("'", "", $val2);
$c = array_combine(explode(',', $val1), explode(',', $val2));
while (list($key, $value) = each($c)) {
echo "$key: $value \n";
}
评论