
f4rt~
08.09.2017
09:19:34
ну он научится мысли свои формулировать
потом я помогу более внятно

Like
08.09.2017
09:19:47

f4rt~
08.09.2017
09:19:54
ошибка ему говорит что он в своих .env не указал

Google

f4rt~
08.09.2017
09:20:06
credentials mysql

Alexander
08.09.2017
09:20:38
это было больно

(;¬_¬)
08.09.2017
09:28:32
модератор накажет

Kamal
08.09.2017
09:28:53
))

?
08.09.2017
09:53:41

(;¬_¬)
08.09.2017
09:55:52

Ruslan
08.09.2017
10:02:09
Доброго дня коллеги! Подскажите способ вытащить значения по ключу из n-мерного ассоциативного массива

Alexander
08.09.2017
10:02:38
$arr['key']

Евгений
08.09.2017
10:02:54
$value = $arr['key1']['key2']['key3'];

Alexander
08.09.2017
10:03:07
напиши рекурсивную функцию
йопта

Google

Alexander
08.09.2017
10:03:20
где-то букву пропустил
?

Ruslan
08.09.2017
10:03:53
Написал, не хочет искать не могу понять что нетак
function getValue($array, $id)
{
if(is_array($array))
{
foreach ($array as $key => $value)
{
if($key == $id){
return $value;
break;
}
else
{
$valueResult = getValue($value, $id);
}
}
}
else
{
//$result = "Элемент не найден";
}
return $valueResult;
}

Victor
08.09.2017
10:04:48

Ruslan
08.09.2017
10:05:04
Суть в том что передается ключ, и неизвестно какого он уровня, это может быть 1,2 ... n уровень вложенности

Alexander
08.09.2017
10:05:09
break убери
у тебя функция неправильно вроде записана
сначала форычни, потом проверь массив ли это

Евгений
08.09.2017
10:06:01
да и return $valueResult не нужен. там прям и пиши return getValue( $value, $id )

f4rt~
08.09.2017
10:07:16
& array_key/value

Ruslan
08.09.2017
10:10:39

Alexander
08.09.2017
10:11:03
тоесть у тебя может прилететь в функцию не массив?

Евгений
08.09.2017
10:11:18

f4rt~
08.09.2017
10:11:35
не благодари

Евгений
08.09.2017
10:11:42
но просто в рекурсию глубже имеет смысл идти только если массив

Ruslan
08.09.2017
10:11:52
Функция рекурсивная, и рано или поздно дойдет до элеметна ключ => значение,

f4rt~
08.09.2017
10:12:22

Google

Alexander
08.09.2017
10:12:39
тебе ж сразу массив прилетает

Ruslan
08.09.2017
10:12:51

f4rt~
08.09.2017
10:12:59
какая разница
намек понял?

Alexander
08.09.2017
10:13:11
?

Евгений
08.09.2017
10:13:20
но вообще - ответ на вопрос есть на стэковерфлоу

Alexander
08.09.2017
10:13:31
оптимизация

Ruslan
08.09.2017
10:13:33

Alexander
08.09.2017
10:13:36
?

Ruslan
08.09.2017
10:13:42

Евгений
08.09.2017
10:13:58
за денежку

Ruslan
08.09.2017
10:14:19
ну ок

Евгений
08.09.2017
10:14:42
причём это не за ссылку, а за то, чтобы зайти на со и вбить вопрос в поиск

Alexander
08.09.2017
10:15:25
function recursiveFind(array $array, $needle)
{
$iterator = new RecursiveArrayIterator($array);
$recursive = new RecursiveIteratorIterator(
$iterator,
RecursiveIteratorIterator::SELF_FIRST
);
foreach ($recursive as $key => $value) {
if ($key === $needle) {
return $value;
}
}
}

Ruslan
08.09.2017
10:15:58
Я третий день бьюсь, и перед тем как сюда написать много статей и способов прочитал, начиная от хелпера в Yii и заканчивая самодельными костылями, но увы ничего из прочитанного не приносит нужный результат.

Alexander
08.09.2017
10:16:00
php7

Victor
08.09.2017
10:16:01

Alexander
08.09.2017
10:16:16
https://stackoverflow.com/questions/3975585/search-for-a-key-in-an-array-recursively

Ruslan
08.09.2017
10:21:40
[InvalidArgumentException]
Passed variable is not an array or object, using empty array instead (0)

Google

Ruslan
08.09.2017
10:22:01
а вот что дает var_dump: array(12)

f4rt~
08.09.2017
10:22:37
ну так первым аргументом
массив передавай
а не инт

Ruslan
08.09.2017
10:23:05
Я так и делаю)

Like
08.09.2017
10:23:09

Ruslan
08.09.2017
10:23:25
Ну вы второе сообщение то прочитайте, ну)

Admin
ERROR: S client not available

Like
08.09.2017
10:23:42
Ок, напиши
\array

Ruslan
08.09.2017
10:23:46
вар дамп пишет что массив, а метод говорит не массив. кто прав?

Like
08.09.2017
10:23:47
В сигнатуре

Ruslan
08.09.2017
10:23:59

Like
08.09.2017
10:24:07
Типа, теперь проходит?

f4rt~
08.09.2017
10:24:30
блэд

Like
08.09.2017
10:24:40
Что он ищет константу
А не тип
Хз почему такое бывает

Google

Like
08.09.2017
10:25:11
Типа, \int будет работать 100%
А int может иногда ошибку давать

Ruslan
08.09.2017
10:27:01
Итак по порядку. В функции в аргументах поставил \array у аргумента указал что $a = array();. Что то не так сделал?

f4rt~
08.09.2017
10:27:17
где глядь там аргумент

Like
08.09.2017
10:27:18
Оно теперь работает?

f4rt~
08.09.2017
10:27:35
myFunction(array $array)

Like
08.09.2017
10:27:45
myFunction(\array $array)

f4rt~
08.09.2017
10:27:53
$array = [1,2,3];
myFunction($array)

Ruslan
08.09.2017
10:27:56
function recursiveFind(\array $haystack, $needle)
так проще наверно

Like
08.09.2017
10:29:28
Я запутался

Ruslan
08.09.2017
10:29:34
И я

f4rt~
08.09.2017
10:29:35
$array = ['1' => 'hui', '2' => 'value'];
recursiveFind($array, "value")

Like
08.09.2017
10:29:36
Что у тебя не получается?

f4rt~
08.09.2017
10:30:13
вы бля друг друга стоите
с полями на аватарках

Ruslan
08.09.2017
10:30:18
Функцию запустить ссылку(stackoverflow) на которую кинули в разговоре выше
Ахахахх)))))

Like
08.09.2017
10:30:59