Работа с массивом

daniyorik

Новичок
Искал но нигде не мог найти, ну или не правильно понимаю, в общем такая штука,
есть определенные данные в цикличном массиве 1 и нецикличном 2
в 1 массиве ключ символьное поле затем уже числовое так вот
выглядит он примерно так:
[bukvivsyakie] => array(
[next] => array(
[0] => lala
[1] => tratata
)
)
А второй массив такой:
[id] => 2
[slovo] => bikvivsyakie

Вот и сижу думаю, как бы произвести выборку итераций по ключу 1 массива который равен значению 2 массива

пробовал через array_key_exists
и в общем то не особо получилось хочу чтобы было так
<?=$text['0']?><?=text['1']?> но только с определенной иттерации а не со всех
 

daniyorik

Новичок
в общем есть в таблице 3 поля мне необходимых и 2 побочных
это
айди имя фамилия емейл парент(емейл других пользователей)
создается массив где парент как ключ и туда падают строки у которых емейл схож с парентом,
Во втором массиве хранятся данные пользователя это айди и емейл
нужно чтобы произошло сравнение емейла второго массива с парентом первого, и выдал только нужную итерацию, то бишь только одну
 

WMix

герр M:)ller
Партнер клуба
PHP:
function buildTree(array &$elements, $парент = null) {
    $branch = array();
    foreach ($elements as $element) {
        if ($element['парент'] == $парент) {
            $children = buildTree($elements, $element['емейл']);
            if ($children) {
                $element['children'] = $children;
            }
            $branch[$element['емейл']] = $element;
            unset($elements[$element['емейл']]);
        }
    }
    return $branch;
}
 

daniyorik

Новичок
PHP:
function buildTree(array &$elements, $парент = null) {
    $branch = array();
    foreach ($elements as $element) {
        if ($element['парент'] == $парент) {
            $children = buildTree($elements, $element['емейл']);
            if ($children) {
                $element['children'] = $children;
            }
            $branch[$element['емейл']] = $element;
            unset($elements[$element['емейл']]);
        }
    }
    return $branch;
}
спасибо большое, немного видоизменил ваш код, в итоге получилось вот что:
PHP:
function getbuild($text, $email){
    $row = array();
    foreach($text as $k=>$v){
        if($v['parent'] == $email){
            $row[0][$k] = $v;
            }
            else {
                $text[$v['parent']]['next'][$k] = $v;
            }        
       
    }
    return $row;
}
пришли те данные которые нужны в общем шикарно спасибо огромное
 
Сверху