if ($logged_user) { // Если юзер залогинен выполнить код
$friends = json_decode($pl->friends(), true); // Декодируем друзей профиля и превращаем в массив
$myfriends = json_decode($logged_user->friends(), true); // Декодируем друзей себя и превращаем в массив
$cfriends = count($friends, COUNT_RECURSIVE); // Считаем друзей
if ($_POST['add_friend']) { // Если нажали кнопку "Добавить в друзья" выполнить код
$addf = json_decode($pl->friends(), true); // Декодируем друзей профиля и превращаем в массив
$addfa = json_decode($logged_user->friends(), true); // Декодируем друзей себя и превращаем в массив
$plf = array($pl->steamid() => 2); // Создаём массив с айди профиля и статусом дружбы
$lgu = array($logged_user->steamid() => 0); // Создаём массив с айди себя и статусом дружбы
if ($addf != NULL) { // Если массив с друзьями профиля НЕ пуст выполнить код
array_unshift($addf,$lgu); // Добавляем в НАЧАЛО массива друзей, наш созданый массив
$adda = json_encode($addf); // Encodim массив с старыми и новым другом
} else { // Если массив с друзьями пуст, просто енкодим созданый массив с новым другом
$adda = json_encode($lgu);
}
if ($addfa != NULL) { // Если массив с нашими друзьями НЕ пуст выполнить код
array_unshift($addfa,$plf); // Добавляем в НАЧАЛО массива друзей, наш созданый массив
$adda = json_encode($addfa); // Encodim массив с старыми и новым другом
} else { // Если массив с друзьями пуст, просто енкодим созданый массив с новым другом
$adda = json_encode($plf);
}
$db->execute("UPDATE `players` SET `friends` = '$adda' WHERE `SID` = '{$pl->steamid()}'"); // Заполняем профиль друзьями.
$db->execute("UPDATE `players` SET `friends` = '$addaa' WHERE `SID` = '{$logged_user->steamid()}'"); // Заполняем себя друзьями.
echo "<meta http-equiv='refresh' content='0'>"; // Перезагрузка страницы для устранения эффекта двойного добавления в друзья
}
}
Пример на Json'e, То что получается
{"0": {"STEAM_0:1:421410864": 2}, {"STEAM_0:1:27660088": 1}}
{
"0": [
{
"STEAM_0:1:421410864": 2
},
{
"STEAM_0:1:27660088": 1
}
]
}
[
{
"STEAM_0:1:421410864": 1
},
{
"STEAM_0:0:109168821": 0
},
{
"STEAM_0:0:138268647": 2
}
]
[
{
"STEAM_0:1:421410864": 1,
"balance": "500"
},
{
"STEAM_0:0:109168821": 0,
"balance": "129"
},
{
"STEAM_0:0:138268647": 2,
"balance": "100"
}
]