array_walk_recursive($a, "bla" use (&$logos));
array_walk_recursive($a, "bla" use (&$ids), $ids);
<?php
$a = [
1 => [
3 => [
"logo" => "logo_3_1",
"cover" => "cover_3_1"
],
4 => [
"logo" => "logo_4_1",
]
],
2 => [
5 => [
"logo" => "logo_5_2",
"cover" => "cover_5_2"
]
]
];
class A
{
public function bla($array)
{
$ids = [];
array_walk_recursive($array, function($value, $key) use (&$ids, $array) {
$ids[] = $value;
});
return $ids;
}
}
$class = new A();
var_dump($class->bla($a));
function bla($value, $key, &$ids)
- array_walk_recursive: Typically, funcname takes on two parameters. The input parameter's value being the first, and the key/index second.
Как это присвоить переменной вне массива.
$c = 1;
array_walk_recursive($a, function($b) use (&$c) {
$c = $b;
});
var_dump($c);
Как-то так, как вариант... //Изменить
array_walk_recursive($a, function(&$b) {
$b = rand(1, 1000);
});
//Получить
array_walk_recursive($a, function(&$b) {
var_dump($b);
});
An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform.Мне просто показалось, что пробелма началась откуда-то отсуда :)
Если требуется, чтобы функция callback изменила значения в массиве, определите первый параметр callback как ссылку. Тогда все изменения будут применены к элементам массива.(с) Оригинал