php - 合并长度不等的数组
问题描述
我需要在 php 中组合两个数组的帮助。
我有的:
numbers = (1, 2,3,4,5,6);
letters = ('q', 'w', 'e', 'r');
我需要的:
1 q
2 w
3 e
4 r
5
6
重要提示:我永远不会知道“数字”或“字母”数组包含多少项目(只是这些项目的长度永远不相等),这因情况而异。
到目前为止,以下已经让我最接近目标,但这会将所有字母一起提交给每个数字:
function array_combine2($arr1, $arr2) {
return array_combine(
array_intersect_key($arr1, $arr2),
array_intersect_key($arr2, $arr1));
}
foreach(array_combine2($number,$array) as $n1 => $a1)
{
echo $n1 . $a1."<br>";
}
解决方案
您可以使用count()
andarray_fill()
生成一个“空白数组”,然后用+
运算符覆盖该数组。
请参阅:数组运算符
$num = array(1, 2, 3, 4, 5);
$let = array('a', 'b', 'c');
$overlay = array_fill(0, count($num), NULL);
$sample = array_combine($num, $let + $overlay);
var_dump($sample);
输出:
array(5) {
[1]=>
string(1) "a"
[2]=>
string(1) "b"
[3]=>
string(1) "c"
[4]=>
NULL
[5]=>
NULL
}
推荐阅读
- next.js - 如何安全地将 getInitialProps 替换为 getServerSideProps / getStaticProps
- python - django登录表单和表单验证在引导模式中使用ajax
- yosys - 将单元格添加到 write_verilog 会导致错误
- r - 如何使用 gstat 包获得超出样本点位置的预测?
- css - React Native:呈现布局,表单居中,flex 背景
- javascript - isset() 不适用于动态形式
- python - 需要在python的networkx库中改变节点的形状
- python - 替换捕获组中的多个字符
- debugging - 如何在 Visual Studio 2019 中安装 64 位 SSIS 运行时
- python - 如何使用循环打印这些哈希符号?