проблема с многомерным массивом php shuffle

привет, я объявляю переменную массива и заполняю ее:

foreach($urls as $url)
{
$webs[] = array( 'name' => $url['name'],
'url' => $url['link']);
}

это заполнит что-то вроде этого:

$webs: ((name:cnn,'link:cnn.com/1')
(name:cnn,'link:cnn.com/1')
(name:cnn,'link:cnn.com/1')
(name:bbc,'link:bbc.com/1')
(name:bbc,'link:bbc.com/1')
(name:bbc,'link:bbc.com/1'))

Теперь я хочу напечатать это:

foreach($webs as $web)
{
echo "<br/>".$web['name'].':'.$web['url'];
}

результат:

cnn: cnn.com/1
cnn: cnn.com/2
cnn: cnn.com/3
bbc: bbc.com/1
bbc: bbc.com/2
bbc: bbc.com/3

Но я этого не хочу.
Я хочу напечатать все результаты, но случайное воспроизведение примерно так:

bbc: bbc.com/1
cnn: cnn.com/1
bbc: bbc.com/3
cnn: cnn.com/3
cnn: cnn.com/2
cnn: cnn.com/3
bbc: bbc.com/2

я попробую

$webs = shuffle($webs);
foreach($webs as $web)
{
echo "<br/>".$web['name'].':'.$web['url'];
}

но безуспешно с этой ошибкой:

Warning: Invalid argument supplied for foreach()

Заметка: В моем реальном коде, $url['name'] это другой массив.

-1

Решение

shuffle() ПРАВДА в случае успеха или ЛОЖНЫЙ на неудачу, когда вы передаете массив на него, вы назначили True в $webs в этом случае. Узнать больше шарканье.

Замечания: Эта функция присваивает новые ключи элементам в массиве. Он удалит все существующие ключи, которые могли быть назначены, а не
просто переупорядочив ключи.

shuffle($webs); //see here cause shuffle return true or false
foreach($webs as $web)
{
echo "<br/>".$web['name'].':'.$web['url'];
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]