<?php
function &random_value(&$array, $default=null)
{
$k = 0; // mt_rand(0, count($array) - 1);
if (isset($array[$k])) {
return $array[$k];
} else {
return $default;
}
}
$companies = array();
$companies[] = array("name" => "Acme Co", "employees"=> array( "John", "Jane" ));
$companies[] = array("name" => "Inotech", "employees"=> array( "Bill", "Michael" ));
$x = &random_value($companies);
$x["employees"][] = "Donald";
var_dump($x, $companies);
- Output for 5.4.1 - 5.4.45, 5.5.24 - 5.5.35, 5.6.7 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 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.18, 8.3.0 - 8.3.4, 8.3.6
- array(2) {
["name"]=>
string(7) "Acme Co"
["employees"]=>
array(3) {
[0]=>
string(4) "John"
[1]=>
string(4) "Jane"
[2]=>
string(6) "Donald"
}
}
array(2) {
[0]=>
&array(2) {
["name"]=>
string(7) "Acme Co"
["employees"]=>
array(3) {
[0]=>
string(4) "John"
[1]=>
string(4) "Jane"
[2]=>
string(6) "Donald"
}
}
[1]=>
array(2) {
["name"]=>
string(7) "Inotech"
["employees"]=>
array(2) {
[0]=>
string(4) "Bill"
[1]=>
string(7) "Michael"
}
}
}
- 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(2) {
["name"]=>
string(7) "Acme Co"
["employees"]=>
array(3) {
[0]=>
string(4) "John"
[1]=>
string(4) "Jane"
[2]=>
string(6) "Donald"
}
}
array(2) {
[0]=>
&array(2) {
["name"]=>
string(7) "Acme Co"
["employees"]=>
array(3) {
[0]=>
string(4) "John"
[1]=>
string(4) "Jane"
[2]=>
string(6) "Donald"
}
}
[1]=>
array(2) {
["name"]=>
string(7) "Inotech"
["employees"]=>
array(2) {
[0]=>
string(4) "Bill"
[1]=>
string(7) "Michael"
}
}
}
preferences:
185.47 ms | 403 KiB | 256 Q