Top.Mail.Ru
Ответы

Как проверить значения всех элементов массива (объкта) в PHP?

Есть массив (ассоциативный) для онлайн-игры, в нём такая структура (упрощённо) :
{
"id": "идентификатор игровой сессии",
0: { "nick": "ник Игрока",
"Прочие параметры", "прочие параметры"},
1: { то же самое},
...
5: {то же самое}
}
В общем, есть идентификатор в корне, а также под числовыми индексами сведения об игроках
Так вот, чтобы не перебирать вручную весь этот массив, хочу сделать функцию проверки, есть ли уже игрок с заранее известным ником в этом массиве или нет. Поскольку к файлу могут обратиться повторно, чтобы не совершать второй раз действия, который должны совершиться один раз при первом обращении. Короче, "защита от неправильной эксплуатации". Самый простой вариант: добавлять в массив элемент с названием "имя Игрока" и любым значением и проверять isset(), но так будет увеличиваться объём массива. Можно ли просто пробегаться по значениям и если встретить там искомое слово (ник), выдать true, если не встретить - выдать false?

По дате
По рейтингу
Аватар пользователя
Новичок
8мес

у тебя массив двумерный (айди и внутри параметры включая ник)
сделал так, должно работать:

12345678910111213141516171819
 //парсированный массив 
$array = [ 
    1 => ['nick' => 'ник 1', 'param' => 'другой параметр'], 
    2 => ['nick' => 'ник 2', 'param' => 'другой параметр'], 
    3 => ['nick' => 'ник 3', 'param' => 'другой параметр'], 
]; 
 
function findnick($thearray, $thenick) { //функция с аргументами массива и искомого ника 
$result = false; //по умолчанию релультат false 
foreach ($thearray as $item) { //перебираем массив по индексам 
    if (isset($item['nick']) && $item['nick'] === $thenick) {
    	$result = true; //если нашли меняем на true 
    } 
} 
return $result; 
} 
 
findnick($array, 'ник 2'); //вернёт true 
findnick($array, 'тест'); //вернёт false 
Аватар пользователя
Мастер
8мес

если ник игрока уникальный, то вместо номера ключем может быть ник.

Аватар пользователя
Мудрец
8мес

в зависимости от версии php решиний множество для Json структур/ Готовых скриптов и библиотек для работы с json