Я запускаю цикл foreach для отображения результатов json, когда выполняются определенные условия, и хотел бы отсортировать их по полю name
. Я пытаюсь использовать usort()
, но, похоже, не понимаю.sort json приводит к циклу foreach
JSON:
{
"Shawn Taylor":{
"name":"Shawn Taylor",
"title":"",
"photo_url":"house_165 (1).jpg",
},
"Another Name": {
"name":"Another Name",
"title":"Title is here",
"photo_url":"Person.jpg",
}
}
PHP:
$data_json = file_get_contents('data.json');
$data_array = json_decode($data_json, true);
$i = 0;
foreach($data_array as $key => $person){
if($person['title'] == 'some title'){
include('card.php');
if(++$i % 4 === 0) {
echo '<div class="clearfix"></div>'; // inserts a clearfix every 4 cards
}
}
}
Так что это возвращает все результаты, которые я ожидать, но не отсортирован. Я попробовал usort() несколько разных способов, но просто упал на мое лицо ужасно :) Пожалуйста, помогите!
Вы не может проходить через JSON в цикле for в PHP. Сначала вам нужно его расшифровать. 'json_decode ($ data_array, true);' –
Я уже расшифровал - отредактировал мой вопрос, чтобы включить его –
Кстати, почему -1 на вопрос? –