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
)
)