Array
(
[1] => Array
(
[0] => Array
(
[header] => город Москва
[category_id] => 1
)
)
[2] => Array
(
[0] => Array
(
[header] => село Огонёво
[category_id] => 2
)
[1] => Array
(
[header] => село Быстрино
[category_id] => 2
)
)
[7] => Array
(
[0] => Array
(
[header] => посёлок Восточный
[category_id] => 7
)
)
)
foreach($rows_sql as $row) {
$catkey = $row['category_id'];
if( isset($datapost[$catkey]) )
// if( isset( array_column($datapost,'header', 'category_id' ) ) )
{
// echo '$catkey = '.$catkey;
echo '<li><p class="href">'.$row['title'].'</p>';
echo '<ul class="sub-menu">';
foreach( $datapost as $val ) {
if( $val['category_id'] == $row['category_id']) {
echo '
<li><a href="'.$val['post_url'].'">'.$val['header'].'</a></li>
';}
}
echo '</ul>';
echo ' </li>';
}
else {
echo '<li><p class="href">'.$row['title'].'</p></li>';
}
}
// $first_names = array_column($datapost,'header', 'category_id' );
// echo "<pre>";
// print_r($first_names);
// echo "</pre>";
php_value max_execution_time 100
[ErrorException] E_ERROR
Maximum execution time of 10 seconds exceeded (0)
/home/l/lovelas22/public_html/bitrix/modules/main/classes/general/backup.php:1244
15:22:09.950 state is null global.js:344
update moz-extension://f6c0deba-3406-461c-974b-f75dae275b63/global.js:344
[3]</< moz-extension://f6c0deba-3406-461c-974b-f75dae275b63/global.js:364
apply self-hosted:2707
applySafeWithoutClone resource://gre/modules/ExtensionCommon.jsm:616
fire resource://gre/modules/ExtensionChild.jsm:806
recvRunListener resource://gre/modules/ExtensionChild.jsm:810
recvRunListener self-hosted:1173
_recv resource://gre/modules/ConduitsChild.jsm:78
receiveMessage resource://gre/modules/ConduitsChild.jsm:184
2936 14.07.2021 10:41:17 Ошибка работы сервера CleanTalk UNKNOWN 188.191.233.57 /contacts/
if(array_key_exists($data['category_id'], $arIDs))
И название категории заносится в массив arResults только если айдишнику категории соответствует category_id в массиве.
С одной стороны это вроде как "не баг, а фича", потому что "пустые" категории (без подменю) автоматически отбрасываются. Но с другой... категория ведь и сама по себе может быть ссылкой. Если уж она добавлена в базу, то по идее надо её выводить.
Получается либо выводить категории из массива $arIDs (или сразу из базы) и потом цеплять к ним arResults... но это костыль, имхо. Либо добавлять в arResults и категории без подменю.
То есть вот сюда...
как понимаю, надо прикрутить else. Как-то типа...
Но откуда взять ключ "..." ? Ведь $data['category_id'] получаем из массива, а раз категория без подменю, то этого ключа нет.
UPD а нет, так не получится. foreach($datapost as $data) ведь массив обходит и на пустые категории цикла не будет.