Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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_Arrays - Fatal编程技术网

Php 数组与另一个数组组合-如何优雅地执行此操作

Php 数组与另一个数组组合-如何优雅地执行此操作,php,arrays,Php,Arrays,我有两个数组,一个整数数组和一个字符串数组。我想把这两者结合起来,但这对我来说很麻烦 基本上,每个数组中的第一个值将被关联,每个数组的第二个值将被关联,第三个值彼此关联,依此类推 我有一个foreach循环,循环遍历并使用$result作为数组键,如下所示: foreach ($results as $result) { 然后是基于所述字符串生成$order的函数 然后,我尝试将我所说的每个值关联起来,其中我会有如下内容: array('8' => 'value', '8' =>

我有两个数组,一个整数数组和一个字符串数组。我想把这两者结合起来,但这对我来说很麻烦

基本上,每个数组中的第一个值将被关联,每个数组的第二个值将被关联,第三个值彼此关联,依此类推

我有一个
foreach
循环,循环遍历并使用
$result
作为数组键,如下所示:

foreach ($results as $result) {
然后是基于所述字符串生成$order的函数

然后,我尝试将我所说的每个值关联起来,其中我会有如下内容:

array('8' => 'value', '8' => 'value', '6' => 'anothervalue', '6' => 'anothervalue');
这是我的密码

$order = resource_library_apachesolr_resource_type_order($resource_type);
$result['resource_type'] = $resource_type;
$newresults = array($order => $result);

$order
不是迭代的,那么我如何使它与当前迭代的
$result
值结合起来,从而得到
$order
的迭代值呢?

好吧,既然你有重复的键,你就不能使用

你可能需要有点创意。可能转换为字符串并在整数部分之前添加0

例如:

$a1 = array(1,1,2,3,3);
$a2 = array('a', 'b', 'c', 'd', 'e');
$a3 = array();

for ($i=0; $i<count($a1); ++$i) {
    $key = (string) $a1[$i];
    $val = (String) $a2[$i];
    while (isset($a3[$key])) {
        $key = "0$key";
    }
    $a3[$key] = $val;
}

var_dump($a3);

foreach ($a3 as $key => $val) {
    $key = (int) $key;
    print "$key=>$val<br>";
}

我不知道你为什么需要这个,但如果我想做这样的事,我会:

$arr = array();
foreach($numbers as $i=>$num){
    $arr[$num][] = $strings[$i];
}
并将获得:

array(
    1 => array(
        a,
        b
    ),
    2 => array(
        c
    ),
    3 => array(
        d,
        e
    )
)

'8'=>'value','8'=>'value'…
数组中的同一个键?这是行不通的。正如@Narek提到的,相同的键是行不通的,但是如果你想输出它,你可以使用
array(
    1 => array(
        a,
        b
    ),
    2 => array(
        c
    ),
    3 => array(
        d,
        e
    )
)