Php 如何循环遍历此数组?
我对PHP数组的使用还比较陌生,我有一个需要循环使用的数组2280和2307是标识符 我发现很难找到一个收集所有数据的foreach()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
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"
}
}