PHP: предупреждение foreach - PullRequest
       17

PHP: предупреждение foreach

0 голосов
/ 13 ноября 2011

Я выполняю код:

<?php
$input="ABC123";
$splits = chunk_split($input,2,"");
foreach($splits as $split)
{
$split = strrev($split);
$input = $input . $split;
}
?>

И вывод, который я хочу:

BA1C32

Но это предупреждает меня.

Warning: Invalid argument supplied for foreach() in /home/WOOOOOOOOHOOOOOOOO/domains/badhamburgers.com/public_html/index.php on line 4

Ответы [ 3 ]

5 голосов
/ 13 ноября 2011

chunk_split возвращает не массив, а часть строки.

Вместо этого следует использовать str_split:

$input="ABC123";
$splits = str_split($input, 2);

И не забудьте сбросить $input перед циклом, иначе он также будет содержать старые данные.

1 голос
/ 13 ноября 2011

Похоже, http://php.net/manual/en/function.chunk-split.php возвращает строку, а не массив. Вместо этого вы можете использовать str_split:

$input = "ABC123";
$splits = str_split( $input, 2 );
$output = "";
foreach( $splits as $split ){
   $split = strrev($split);
   $output .= $split;
}
0 голосов
/ 13 ноября 2011

Как ясно сказано в документации для chunk_split, http://php.net/manual/en/function.chunk-split.php chunk split возвращает строку.

foreach ожидает массив в качестве первого аргумента.

...