Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何循环遍历此数组?_Php_Loops_Foreach - Fatal编程技术网

Php 如何循环遍历此数组?

Php 如何循环遍历此数组?,php,loops,foreach,Php,Loops,Foreach,我对PHP数组的使用还比较陌生,我有一个需要循环使用的数组2280和2307是标识符 我发现很难找到一个收集所有数据的foreach() Array ( [2280] => Array ( [0] => http://deals.com.au//uploads/deal_image/2706.jpg [1] => Yuan's Massage and Beauty [2] => Get Hair Free in CB

我对PHP数组的使用还比较陌生,我有一个需要循环使用的数组2280和2307是标识符

我发现很难找到一个收集所有数据的foreach()

Array
(
[2280] => Array
    (
        [0] => http://deals.com.au//uploads/deal_image/2706.jpg
        [1] => Yuan's Massage and Beauty
        [2] => Get Hair Free in CBD! Only $99 for SIX MONTHS worth of the latest in IPL Permanent Hair Reduction. Choose which area you want treated! Valued at $900 from Yuan's Massage and Beauty in the Heart of Melbourne's CBD. Limited vouchers available
        [3] => 99
        [4] => 900
        [5] => 801
        [6] => http://deals.com.au/1827
    )

[2307] => Array
    (
        [0] => http://deals.com.au//uploads/deal_image/2683.jpg
        [1] => Name Necklace Australia
        [2] => Style yourself like SJP! Only $29 for a STERLING Silver Name Necklace plus get FREE delivery! Valued at $75 with NameNecklace.com.au
        [3] => 29
        [4] => 75
        [5] => 46
        [6] => http://deals.com.au/Melbourne
    )
)
您的数组片段

$array = array( // foreach ($array as $k=>$subarray)
'2280' /* this is your $k */ => 
    array( /* and this is your $subarray */
        'http://deals.com.au//uploads/deal_image/2706.jpg',
现在您得到了所需的数据(您必须使用嵌套的
foreach
,因为数组的值是数组):

更新

老年退休金计划对我的答复的评论如下:

如果我想有选择性,而不是得到一个大规模的数据转储呢。 如果回显$data,如何访问特定行

在大多数情况下,您应该关联数组中的键和数据(我们在PHP中称之为关联数组)

例1:

$hex_colors = array('FF0000', '00FF00' '0000FF');
值与相应的键不关联。PHP将分配0,1,2。。。数组元素本身的键。在这种情况下,您可以使用
PHP
1键自动分配的方式获得绿色的heximal值:
echo$hex_colors[1];//00FF00
当然你应该知道这一点。通常,当您具有严格的数据结构(如
数组(红色、绿色、蓝色)
时,会使用此方法,但在大多数情况下,您最好使用以下方法:

例2:

$hex_colors = array('red'=>'FF0000', 'green'=>'00FF00' 'blue'=>'0000FF');
heximal颜色表示与相应的键相关联
echo$hex_colors['green'];//00FF00

如果您的阵列是:

$array = array(
    '2280' => array(
        'image_url' => 'http://deals.com.au//uploads/deal_image/2706.jpg',
        'product_name' => 'Yuan\'s Massage and Beauty',
        'description' => 'Get Hair Free in CBD! Only $99 for SIX MONTHS worth of the latest in IPL Permanent Hair Reduction. Choose which area you want treated! Valued at $900 from Yuan's Massage and Beauty in the Heart of Melbourne's CBD. Limited vouchers available',
        'price' => 99,
        'weight_brutto' => 900,
        'weight_netto' => 801,
        'dealer_store' => 'http://deals.com.au/1827',
        ...
您可以使用,我们称之为“人类可读”的键访问数据:

继续学习
PHP
,您将发现更多的情况下,关联键和值更方便。

您的数组片段

$array = array( // foreach ($array as $k=>$subarray)
'2280' /* this is your $k */ => 
    array( /* and this is your $subarray */
        'http://deals.com.au//uploads/deal_image/2706.jpg',
foreach ($arr1 as $key1 => $value1) {

    //$key1==2280; $value1 is the array
    foreach ($value1 as $key2 => $value2) {
        //$key2==0;$value2="http://deals.com.au//uploads/deal_image/2706.jpg"
    }

}
现在您得到了所需的数据(您必须使用嵌套的
foreach
,因为数组的值是数组):

更新

老年退休金计划对我的答复的评论如下:

如果我想有选择性,而不是得到一个大规模的数据转储呢。 如果回显$data,如何访问特定行

在大多数情况下,您应该关联数组中的键和数据(我们在PHP中称之为关联数组)

例1:

$hex_colors = array('FF0000', '00FF00' '0000FF');
值与相应的键不关联。PHP将分配0,1,2。。。数组元素本身的键。在这种情况下,您可以使用
PHP
1键自动分配的方式获得绿色的heximal值:
echo$hex_colors[1];//00FF00
当然你应该知道这一点。通常,当您具有严格的数据结构(如
数组(红色、绿色、蓝色)
时,会使用此方法,但在大多数情况下,您最好使用以下方法:

例2:

$hex_colors = array('red'=>'FF0000', 'green'=>'00FF00' 'blue'=>'0000FF');
heximal颜色表示与相应的键相关联
echo$hex_colors['green'];//00FF00

如果您的阵列是:

$array = array(
    '2280' => array(
        'image_url' => 'http://deals.com.au//uploads/deal_image/2706.jpg',
        'product_name' => 'Yuan\'s Massage and Beauty',
        'description' => 'Get Hair Free in CBD! Only $99 for SIX MONTHS worth of the latest in IPL Permanent Hair Reduction. Choose which area you want treated! Valued at $900 from Yuan's Massage and Beauty in the Heart of Melbourne's CBD. Limited vouchers available',
        'price' => 99,
        'weight_brutto' => 900,
        'weight_netto' => 801,
        'dealer_store' => 'http://deals.com.au/1827',
        ...
您可以使用,我们称之为“人类可读”的键访问数据:


继续学习
PHP
,你会发现更多的情况下,关联键和值更方便。

除了
foreach
,你还想做什么?数组元素是否有任何特定部分您不了解如何访问?我只想能够访问它,例如$array[0]将访问第一个[0],第四个,您尝试了什么?问题是什么?我不太会使用PHP,但是这些值中的每一个(除了数字)不应该都用括号括起来吗?除了一个
foreach
,你想做什么?数组元素是否有任何特定部分您不了解如何访问?我只想能够访问它,例如$array[0]将访问第一个[0],第四个,您尝试了什么?问题是什么?我不太使用PHP,但是这些值中的每一个(除了数字)不应该用括号括起来吗?如果不包含数组定义,那么(在本例中)可能更容易读取。对我来说,仅仅是
foreach
循环就足够了。谢谢。我试图对
PHP
初学者的答案进行压缩,因此我留下了最初的数组片段,以展示嵌套
foreach
的工作原理,并删除了不必要的部分。但是,如果我希望有选择性,而不是在回显$data时得到大量数据转储,该如何访问特定行呢?这可能更容易阅读(在本例中)如果你不包括数组定义。我觉得只有
foreach
循环就足够了。谢谢你。我试图让我的答案对
PHP
初学者来说比较全面,所以我留下了最初的数组片段来展示嵌套
foreach
是如何工作的,并删除了不必要的部分,但是如果我想有选择性的话该怎么办如果我回显$data,则会得到大量数据转储。如何访问特定行?这是错误的-
$arr2
--将其更改为
$value1
嵌套数组不是键/值对,因此您的代码有点奇怪,除非出于某种原因,它们需要索引。这是错误的-
$arr2
--将其更改为
$value1
嵌套数组不是键/值对,因此您的代码有点奇怪,除非出于某种原因,它们需要索引。
foreach ($arr1 as $key1 => $value1) {

    //$key1==2280; $value1 is the array
    foreach ($value1 as $key2 => $value2) {
        //$key2==0;$value2="http://deals.com.au//uploads/deal_image/2706.jpg"
    }

}