Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 循环通过数组_Php_Foreach - Fatal编程技术网

Php 循环通过数组

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]->字符

我试图循环一个数组以获取某些值,并将它们设置为一个变量

这是我的$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]->字符串(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