PHP数组读取

PHP数组读取,php,Php,文件最初是这样的: $strings 红色红色绿色绿色黑色blackblackblackblackblackblackwhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitew

文件最初是这样的:

$strings

红色红色绿色绿色黑色blackblackblackblackblackblackwhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewhitewh

foreach$inarray作为$k=>v

所以我转换成数组

Array ( [0] => red[red] => 17 
        [1] => orange[orange] => 3 
        [2] => green[green] => 46 
        [3] => yellow[yellow] => 5 
        [4] => black[black] => 21 
        [5] => white[white] => 10 
      )
我如何像这样读取数组

red is 17
orange is 3
green is 46
yellow is 5
black is 21
white is 10
目前我使用foreach$thisarray作为$key=>$value,但它的读取方式不是我所期望的。
非常感谢

上面的数组表示可能有一些输入错误。无论如何,要读取字符串,可以使用我希望您正在检查字符串的有效性,当然还有sscanf的返回值..:

foreach ($array as $k=>$v) {
   $color = preg_replace('/\[.*\]/', '', $k);
   echo $color . ' is ' . $v;
}
您可以很容易地将其扩展到从数组或其他内容中的多个字符串读取


HTH

上面的数组表示可能有一些输入错误。无论如何,要读取字符串,可以使用我希望您正在检查字符串的有效性,当然还有sscanf的返回值..:

您可以很容易地将其扩展到从数组或其他内容中的多个字符串读取


HTH

不确定你是否在寻找更简单的东西。但我想你想要这个:

<?php
  $colour = array()
    $color['red'] = 17;
    $color['orange'] = 3; 
    //etc


foreach ($colour as $name=>$value) {

   echo "<br> $name is $value";
}
?>

不确定你是否在寻找更简单的东西。但我想你想要这个:

<?php
  $colour = array()
    $color['red'] = 17;
    $color['orange'] = 3; 
    //etc


foreach ($colour as $name=>$value) {

   echo "<br> $name is $value";
}
?>

这个数组首先是如何构造的?数组[0]=>red[red]=>17-这是什么?您的格式似乎不是有效的PHP数组var\u dump或print\r。。。你从哪里得到的?这个数组是如何构造的?数组[0]=>red[red]=>17-这是什么?你的格式似乎不是有效的PHP数组变量转储或打印。。。你从哪里弄来的?等等。。。您的数组格式不正确。您发布的输出是打印还是什么?考虑重构原来的数组,这样就有了数组“红色”=>您的数组格式不正确。您发布的输出是打印还是什么?考虑重新构建数组,这样就有了数组“红色”=> 23。
<?php
$arr=array(0 => 'red[red] => 17',
        1=> 'orange[orange] => 3' ,
        2 => 'green[green] => 4' ,
        3 => 'yellow[yellow] => 5' ,
        4 => 'black[black] => 21' ,
        5 => 'white[white] => 10');


foreach ($arr as $k=>$v) {

    $str=preg_match('[[a-z \s]+]',$v,$match);
    $num=preg_match('/[0-9]+$/',$v,$matchnum);
    echo $match[0].' is '.$matchnum[0]."<br>";
}
?>
<?php
  $colour = array()
    $color['red'] = 17;
    $color['orange'] = 3; 
    //etc


foreach ($colour as $name=>$value) {

   echo "<br> $name is $value";
}
?>
red is 17
orange is 3