Php 循环通过数组
我试图循环一个数组以获取某些值,并将它们设置为一个变量 这是我的$u POST数组上的var\u转储Php 循环通过数组,php,foreach,Php,Foreach,我试图循环一个数组以获取某些值,并将它们设置为一个变量 这是我的$u POST数组上的var\u转储 array(5) { ["voter"]=> string(2) "22" [1]=> string(1) "1" [2]=> string(1) "2" [3]=> string(1) "3" ["vote"]=> string(4) 我希望第二个键值对中的key=>value对中的键在out上,然后将其设置为一个变量。我将如何实现这一点 所以从[1]->字符
array(5) { ["voter"]=> string(2) "22" [1]=> string(1) "1" [2]=> string(1) "2" [3]=> string(1) "3" ["vote"]=> string(4)
我希望第二个键值对中的key=>value对中的键在out上,然后将其设置为一个变量。我将如何实现这一点
所以从[1]->字符串(1)“1”开始输出..忽略第一对
谢谢 使用@Xeon06提供的方法肯定会起作用,但需要$\u 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);
输出排列
我不能100%确定您正在尝试做什么,但这将为您提供一个包含除第一个值以外的所有值的数组
$vals = array_values(array_slice($_POST, 1));
array\u values
部分用于重置数组的索引,以便使用[0]访问$vals
将返回“1”。因此您想跳过投票者
并捕获其余的?您能澄清一下吗?是否要使用foreach将一些变量设置为数组中的某些值?为什么不直接使用这个数组呢?是只跳过第一个键,还是只处理第二个键?对不起,我没有完全听懂你的意思:)你是说$second\u value=$your\u数组[1]代码>?我正在尝试设置我的sql语句$sql_candidate=“选择id、前缀、fname、lname、后缀、城市、州、邮政编码、bio、来自州主席_提名人的投票,其中id=“;我希望id等于捕获所有这些键的变量。基本上一切都在第一个关键点之后。所以我的sql语句将等于id=1id=2id=3。。有道理?
(
[1] => ONE
[2] => TWO
[3] => THREE
[vote] => HAMBURGER
)
$vals = array_values(array_slice($_POST, 1));
<?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