<?php
$a = [
[
'position' => 0,
'color' => 'violet'
],
[
'position' => 2,
'color' => 'red'
],
[
'position' => 5,
'color' => 'green'
],
];
$b = [
[
'color' => 'yellow'
],
[
'color' => 'orange'
],
[
'color' => 'pink'
],
[
'color' => 'blue'
],
];
$pos = array_column($a, "color", "position");
$count = count($pos) + count($b);
$j = 0;
for($i=0; $i<$count-1; $i++){
if(!isset($pos[$i])){
$pos[$i] = $b[$j];
$j++;
}else{
$pos[$i] = [$pos[$i]];
}
}
ksort($pos);
var_dump($pos);
- Output for 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.4, 8.3.6 - 8.3.7
- array(6) {
[0]=>
array(1) {
[0]=>
string(6) "violet"
}
[1]=>
array(1) {
["color"]=>
string(6) "yellow"
}
[2]=>
array(1) {
[0]=>
string(3) "red"
}
[3]=>
array(1) {
["color"]=>
string(6) "orange"
}
[4]=>
array(1) {
["color"]=>
string(4) "pink"
}
[5]=>
array(1) {
[0]=>
string(5) "green"
}
}
- Output for 8.3.5
- Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
array(6) {
[0]=>
array(1) {
[0]=>
string(6) "violet"
}
[1]=>
array(1) {
["color"]=>
string(6) "yellow"
}
[2]=>
array(1) {
[0]=>
string(3) "red"
}
[3]=>
array(1) {
["color"]=>
string(6) "orange"
}
[4]=>
array(1) {
["color"]=>
string(4) "pink"
}
[5]=>
array(1) {
[0]=>
string(5) "green"
}
}
preferences:
132.73 ms | 402 KiB | 184 Q