За последние 24 часа нас посетили 38305 программистов и 1722 робота. Сейчас ищут 614 программистов ...

КАМРАДЫ ПОМОГИТЕ

Тема в разделе "PHP для новичков", создана пользователем bogdan_titomir, 13 июл 2018.

  1. bogdan_titomir

    bogdan_titomir Новичок

    С нами с:
    7 окт 2017
    Сообщения:
    159
    Симпатии:
    2
    2 день бьюсь не знаю че делать глаза красные слезол не спасает....

    Есть запросы к базе там все норм показывать не буду дело в массиве когда я все это вывожу у меня получается такой массив.

    [cats] => Array
    (
    [cityId] => 6
    [objectHeader] => 6947
    [parentId] => 6
    [6947] => Array
    (
    [0] => Array
    (
    [objectId] => 6947
    [id] => 1018
    [cityId] => 1
    [parentId] => 54
    [fileName] => remont_oborudovaniya_i_tehniki
    [name] => Ремонт оборудования и техники
    [title] =>
    [amount] => 0
    [sort] => 0
    [sortByAlph] => 1
    [sortByDate] => 1
    [sortByRating] => 1
    [sortByReviews] => 1
    [allowComments] => 1
    [allowRating] => 1
    [expirationOn] =>
    [days] =>
    [num] =>
    )



    Таким макаром я его получаю:

    PHP:
    1.   $cats = array();
    2.     while ($get = mysql_fetch_assoc($res))
    3.     {
    4.     $get['num'] = $prInCats[$get['id']];
    5.     $get['days'] = $queueDays[$get['id']];
    6.     $cats[$get['objectId']][] = $get;
    7.     }
    Мне надо получить ключ самого верхнего массива вот этого
    [6947] => Array без него не могу получить остальные данные

    мне надо получить значение 6947 и засунуть в переменную чтобы потом играться с остальными параметрами массива

    Структура массива не должна изменяться при этом так как в этом вся фишка.

    Как его получить подсобите, заранее спасибо!
     
  2. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    $cats['objectHeader']?
     
  3. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    @bogdan_titomir, ведь есть $cats['objectHeader']?
    А если нет, то есть отличия искомого ключа: то, что это число и то, что указывает на массив.
    То есть, можно проити по элементам массива (foreach($cats as $key => $value){/* */}) и если $key - число, или если $value - массив (наверное, можно выбрать одну из этих проверок), то записать его значение куда надо и выполнить break;
    --- Добавлено ---
    Опять долго печатал... :)
     
  4. bogdan_titomir

    bogdan_titomir Новичок

    С нами с:
    7 окт 2017
    Сообщения:
    159
    Симпатии:
    2
    он есть но он мне нафиг не нужен так как не связан с общим массивом. Через ключ 6947 если я его получу то смогу обращаться к ячейкам массива.

    Вот он массив мне нужна верхушка айсберга.

    [6947] => Array

    (
    [0] => Array
    (
    [objectId] => 6947
    [id] => 1018
    [cityId] => 1
    [parentId] => 54
    [fileName] => remont_oborudovaniya_i_tehniki
    [name] => Ремонт оборудования и техники
    [title] =>
    [amount] => 0
    [sort] => 0
    [sortByAlph] => 1
    [sortByDate] => 1
    [sortByRating] => 1
    [sortByReviews] => 1
    [allowComments] => 1
    [allowRating] => 1
    [expirationOn] =>
    [days] =>
    [num] =>
    )

    Я не знаю ключа и значения, так как сам ключ получился из выборки в базе данных и циклом прошелся.
    --- Добавлено ---
    В общем понял что ключ я не смогу достать, значит придется забить на этот массив но теперь проблема в другом.

    Нужно вытащить значения в разных таблицах, делаю это через UNION но меня это не спасает.

    PHP:
    1.     $res = $core->db->sql("
    2.    SELECT name FROM _@params WHERE cityId='".$cats['cityId']."' AND catId='".$cats['parentId']."' AND type='service'
    3.    UNION
    4.    SELECT id FROM _@objects WHERE userId='".core::$user['id']."'
    5.    ");
    Первый селект срабатывает а второй нет.