Я работаю с php и сделал эту небольшую функцию, чтобы возвращать массив только с тем же месяцем, но мне нужно, чтобы это возвращалось и в порядке дня, я пытался использовать sort, usort, но ничего не получилось.< /p>
$jsonFile = file_get_contents(BASE_TEMPLATE . '/templates/json/' . AMBIENTE . '/' . 'demo_birthday' . '-data.json');
$jsonData = json_decode($jsonFile);
Если я напечатаю $jsonData, я получу массив из 25 объектов, примерно так:
array(25) {
[0]=> object(stdClass)#91 (6) {
["id"]=> string(3) "105"
["day"]=> string(1) "6"
["month"]=> string(7) "febrero"
["name"]=> string(15) "diego fernandez"
["created"]=> string(19) "2021-02-18 07:16:05"
["modified"]=> string(19) "2021-02-18 07:34:18"
}
.
.
.
[24]=> object(stdClass)#115 (6) {
["id"]=> string(3) "129"
["day"]=> string(2) "25"
["month"]=> string(1) "2"
["name"]=> string(15) "martin riquelme"
["created"]=> string(19) "2021-02-18 07:16:06"
["modified"]=> string(19) "2021-02-18 07:16:06"
}
};
// this is used as an array map to compare with actual month
$arrayMonth = array(
array('ENERO', 'ENE', '01', '1'),
array('FEBRERO', 'FEB', '02', '2'),
array('MARZO', 'MAR', '03', '3'),
array('ABRIL', 'ABR', '04', '4'),
array('MAYO', 'MAY', '05', '5'),
array('JUNIO', 'JUN', '06', '6'),
array('JULIO', 'JUL', '07', '7'),
array('AGOSTO', 'AGO', '08', '8'),
array('SEPTIEMBRE', 'SEPT', '09', '9'),
array('OCTUBRE', 'OCT', '10'),
array('NOVIEMBRE', 'NOV', '11'),
array('DICIEMBRE', 'DIC', '12')
);
// this puts the json data on Slides
foreach ($jsonData as &$slide) {
$resultNull = getBirthdayMonth($actualMonth, $slide, $arrayMonth);
if (!empty($resultNull)) {
array_push($result, getBirthdayMonth($actualMonth, $slide, $arrayMonth));
}
}
// This is the function that I need to return in order of day
function getBirthdayMonth($actualMonth, $slide, $arrayMonth)
{
$month = array();
if (in_array(strtoupper($slide->month), $arrayMonth[$actualMonth - 1])) {
array_push($month, array($slide->day, $arrayMonth[$actualMonth - 1][0], $slide->name));
}
return $month;
}
Мне нужно, чтобы этот массив, месяц, сохранялся в порядке дня, я, кажется, не понимаю, что я здесь делаю не так.
Это мой фактический результат, когда я использую print_r(getBirthdayMonth($actualMonth, $slide, $arrayMonth));
Array ( [0] => Array ( [0] => 6 [1] => FEBRERO [2] => diego fernandez ) )
Array ( [0] => Array ( [0] => 2 [1] => FEBRERO [2] => mirko valencia ) )
Array ( [0] => Array ( [0] => 5 [1] => FEBRERO [2] => pablo soto ) )
Array ( [0] => Array ( [0] => 1 [1] => FEBRERO [2] => lorena onate ) )
Array ( [0] => Array ( [0] => 5 [1] => FEBRERO [2] => daniela zuñiga ) )
Но мне нужно это:
Array ( [0] => Array ( [0] => 1 [1] => FEBRERO [2] => lorena onate ) )
Array ( [0] => Array ( [0] => 2 [1] => FEBRERO [2] => mirko valencia ) )
Array ( [0] => Array ( [0] => 5 [1] => FEBRERO [2] => daniela zuñiga ) )
Array ( [0] => Array ( [0] => 5 [1] => FEBRERO [2] => pablo soto ) )
Array ( [0] => Array ( [0] => 6 [1] => FEBRERO [2] => diego fernandez ) )
Подробнее здесь: https://stackoverflow.com/questions/662 ... a-property
Сортировка массива объектов по свойству [дубликат] ⇐ Php
Кемеровские программисты php общаются здесь
-
Anonymous
1737164214
Anonymous
Я работаю с php и сделал эту небольшую функцию, чтобы возвращать массив только с тем же месяцем, но мне нужно, чтобы это возвращалось и в порядке дня, я пытался использовать sort, usort, но ничего не получилось.< /p>
$jsonFile = file_get_contents(BASE_TEMPLATE . '/templates/json/' . AMBIENTE . '/' . 'demo_birthday' . '-data.json');
$jsonData = json_decode($jsonFile);
Если я напечатаю $jsonData, я получу массив из 25 объектов, примерно так:
array(25) {
[0]=> object(stdClass)#91 (6) {
["id"]=> string(3) "105"
["day"]=> string(1) "6"
["month"]=> string(7) "febrero"
["name"]=> string(15) "diego fernandez"
["created"]=> string(19) "2021-02-18 07:16:05"
["modified"]=> string(19) "2021-02-18 07:34:18"
}
.
.
.
[24]=> object(stdClass)#115 (6) {
["id"]=> string(3) "129"
["day"]=> string(2) "25"
["month"]=> string(1) "2"
["name"]=> string(15) "martin riquelme"
["created"]=> string(19) "2021-02-18 07:16:06"
["modified"]=> string(19) "2021-02-18 07:16:06"
}
};
// this is used as an array map to compare with actual month
$arrayMonth = array(
array('ENERO', 'ENE', '01', '1'),
array('FEBRERO', 'FEB', '02', '2'),
array('MARZO', 'MAR', '03', '3'),
array('ABRIL', 'ABR', '04', '4'),
array('MAYO', 'MAY', '05', '5'),
array('JUNIO', 'JUN', '06', '6'),
array('JULIO', 'JUL', '07', '7'),
array('AGOSTO', 'AGO', '08', '8'),
array('SEPTIEMBRE', 'SEPT', '09', '9'),
array('OCTUBRE', 'OCT', '10'),
array('NOVIEMBRE', 'NOV', '11'),
array('DICIEMBRE', 'DIC', '12')
);
// this puts the json data on Slides
foreach ($jsonData as &$slide) {
$resultNull = getBirthdayMonth($actualMonth, $slide, $arrayMonth);
if (!empty($resultNull)) {
array_push($result, getBirthdayMonth($actualMonth, $slide, $arrayMonth));
}
}
// This is the function that I need to return in order of day
function getBirthdayMonth($actualMonth, $slide, $arrayMonth)
{
$month = array();
if (in_array(strtoupper($slide->month), $arrayMonth[$actualMonth - 1])) {
array_push($month, array($slide->day, $arrayMonth[$actualMonth - 1][0], $slide->name));
}
return $month;
}
Мне нужно, чтобы этот массив, месяц, сохранялся в порядке дня, я, кажется, не понимаю, что я здесь делаю не так.
Это мой фактический результат, когда я использую print_r(getBirthdayMonth($actualMonth, $slide, $arrayMonth));
Array ( [0] => Array ( [0] => 6 [1] => FEBRERO [2] => diego fernandez ) )
Array ( [0] => Array ( [0] => 2 [1] => FEBRERO [2] => mirko valencia ) )
Array ( [0] => Array ( [0] => 5 [1] => FEBRERO [2] => pablo soto ) )
Array ( [0] => Array ( [0] => 1 [1] => FEBRERO [2] => lorena onate ) )
Array ( [0] => Array ( [0] => 5 [1] => FEBRERO [2] => daniela zuñiga ) )
Но мне нужно это:
Array ( [0] => Array ( [0] => 1 [1] => FEBRERO [2] => lorena onate ) )
Array ( [0] => Array ( [0] => 2 [1] => FEBRERO [2] => mirko valencia ) )
Array ( [0] => Array ( [0] => 5 [1] => FEBRERO [2] => daniela zuñiga ) )
Array ( [0] => Array ( [0] => 5 [1] => FEBRERO [2] => pablo soto ) )
Array ( [0] => Array ( [0] => 6 [1] => FEBRERO [2] => diego fernandez ) )
Подробнее здесь: [url]https://stackoverflow.com/questions/66262901/sort-an-array-of-objects-by-a-property[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия