Здесь новичок пытается сделать простую функцию, я думаю, что я близок к решению, но в настоящее время я застрял с недопустимым типом смещения.
Функция, основываясь на количестве клавиш, выбирает один из ключей случайным образом, а затем распространяет мой оператор echo так, чтобы требуемые данные затем распространяли операторы echo функции. то есть, если выбран ключ «3», имя пользователя, имя и фамилия будут заполнены данными, связанными с третьим ключом «[3]» массива «$ aaUser».
Я попытался найти переполнение стека, php.net и Google, чтобы попытаться найти решение, чтобы попытаться решить эту функцию, но пока я не нашел ответ, который я могу понять в настоящее время.
мой пример массива:
$aaUser = [ //Make multidimensional
// 0 => nameUser
// 1 => namefirst
// 2 => namelast
0 => ["monkeework", "my", "name"],
1 => ["mentor", "Portia", "Plante"],
2 => ["teacher", "Bill", "Newman"],
3 => ["friend", "Sage", "Gerky"],
4 => [ "pet", "pedro", "" //last postion left empty - if empty we skip]
];
моя функция:
function getRandomUser($arr){
$myKey = array_rand($arr);
$myValue = $arr[$myKey];
echo 'Username: ' . $arr[$myValue][0] . '<br />';
echo 'Name: ' . $arr[$myValue][1] . ' ' . $arr[$myValue][2] . '<br /><br />';
Как я называю функцию:
getRandomUser($aaUser);//select array, get array data back as echo statements
Вы уже настроены $myValue = $arr[$myKey];
так ниже, где вы отображаете значения, которые вам просто нужно сослаться $myValue[1]
и не $arr[$myValue][1]
,
function getRandomUser($arr){
$myKey = array_rand($arr);
$myValue = $arr[$myKey];
echo 'Username: ' . $myValue[0] . '<br />';
echo 'Name: ' . $myValue[1] . ' ' . $myValue[2] . '<br /><br />';
$aaUser
передается в функцию, и теперь установлен как $arr
внутри функции. Первая строка возвращает случайный ключ от $arr
, Следующая строка устанавливает $myValue
равно значению $arr[$myKey]
, Так например.
$myKey = 3; // randomly selected key
$myValue = $arr[3] = $aaUser[3] = array("friend", "Sage", "Gerky");
$myValue = array("friend", "Sage", "Gerky"); // what $myValue holds now
$arr
а также $aaUser
подобные. Так что бы ни держалось в $arr[3]
будет установлен в $myValue
, Для доступа к массиву мы просто вызываем $myValue[1]
,
Если вы попытаетесь позвонить $arr[$myValue][1]
это как сказать $arr[array("friend", "Sage", "Gerky")][1]
,
Других решений пока нет …