我试图遍历数组以获取某些值并将它们设置为等于变量。
这是我的$ _POST数组
上的var_dumparray(5) { ["voter"]=> string(2) "22" [1]=> string(1) "1" [2]=> string(1) "2" [3]=> string(1) "3" ["vote"]=> string(4)
我想要钥匙的钥匙=>来自第二个键值对的值对,然后将其设置为变量。我怎么做到这一点?
所以从[1] - > string(1)“1”on out..Ignore第一对。
谢谢!
答案 0 :(得分:1)
使用@ Xeon06提供的方法肯定会有效,但是要求$ _POST数据按照您提供的顺序排列,如果该顺序发生变化,结果也会变化。这种方法并不关心订单。
function ext($array, array $keys, $default = NULL)
{
$found = array();
foreach ($keys as $key)
{
$found[$key] = isset($array[$key]) ? $array[$key] : $default;
}
return $found;
}
$keys = array(1, 2, 3, 'vote');
$my_vars = ext($_POST, $keys);
function ext($array, array $keys, $default = NULL) {
$found = array();
foreach ($keys as $key) {
$found[$key] = isset($array[$key]) ? $array[$key] : $default;
}
return $found;
}
$_POST = array('voter' => 'TEST', 1 => 'ONE', 2 => 'TWO', 3 => 'THREE', 'vote' => 'HAMBURGER');
$keys = array(1, 2, 3, 'vote');
$my_vars = ext($_POST, $keys);
print_r($my_vars);
<强>输出强>
阵列
(
[1] => ONE
[2] => TWO
[3] => THREE
[vote] => HAMBURGER
)
答案 1 :(得分:0)
我不是100%肯定你正在尝试做什么,但这会给你一个包含所有值的数组,但第一个。
$vals = array_values(array_slice($_POST, 1));
array_values
部分是重置数组的索引,因此使用[0]访问$vals
将返回“1”。
答案 2 :(得分:0)
<?php
$str = '';
$arr = array(
'voter' => '22',
1 => '1',
2 => '2',
3 => '3',
'vote' => 'smth',
);
$arr = array_slice($arr, 1);
foreach($arr as $i) {
$str .= 'id=' . $i . ' ';
}
echo $str; // id=1 id=2 id=3 id=smth
我不知道你如何在单个sql查询中使用它。