gpt4 book ai didi

php - 从多级数组中获取数据

转载 作者:搜寻专家 更新时间:2023-10-31 21:43:09 24 4
gpt4 key购买 nike

下面的问题。

这是我根据 Pixeler 的回答得出的解决方案。

<?php
$i = 0;
foreach ($array as $k1 => $v1) {
if (is_array($v1)) {
echo $k1."<br />";
foreach ($v1 as $k2 => $v2) {
echo "--".$k2."<br />----".$v2."<br />";
}
$i++;
}
echo "<br /<br />";
}
?>

<?php
$array = array( "Apples" => array("Red" => "$2.95", "Green" => "$2.45"),
"Oranges" => array("Navel" => "$4.95"),
"Grapes" => array("Purple" => "$3.75", "Green" => "$3.25")
);
?>

是否可以获取上面的内容并通过调用一个数字来获取每个值的文本?我怎么能做这样的事情?...

<?php
echo $array[0];
//Outputs "Apples"

echo $array[0][0];
//Outputs "Red"

echo $array[0][0][0];
//Outputs "$2.95"

echo $array[3][2][1];
//Outputs "$3.25" (Grapes > Green > Price)
?>

编辑:我的想法是我可以返回第一层(苹果、橙子、葡萄)、第二层(红色、绿色、肚脐、紫色、绿色)和第三层($2.95, 2.45 美元、4.95 美元、3.75 美元、3.25 美元)通过调用电话号码。

例如,我想做这样的事情:

<?php

count($array); //returns 3 (Apples, Oranges, Grapes)

//Do some for/foreach function that will produce the following:

//Apples
//->Red: $2.95
//->Green: $2.45
//Oranges
//->Navel: $4.95
//Grapes
//Purple: $3.75
//Green: $3.25

//I'm hoping to structure the code like this:

foreach($i = 0; $i =< count($array); $i++){
//echo title of array (Apples)
//echo each child key and it's value (Red: $2.95; Green: $2.45)

foreach($secondcounter = 0; $secondcounter =< count($array[$i]); $secondcounter++){
echo array_key($array[$i][$secondcounter]) . ": " .$array[$i][$secondcounter];
//Note: I don't actually know if array_key does the trick or not, it's meant to return "Red" in this case, while the non array_key()'d is meant to return the price of red apples, $2.95
}

?>

编辑: 重要的是要注意我不能用文字来调用数据。我必须使用数字,即 [0] 来调用数组中的第一项,因为苹果可能会根据我从数据库中加载的数据行而改变。换句话说……苹果实际上可能是书,而红色可能是书名 => 价格。

我打算使用序列化/反序列化来存储和检索数据库中的数据,虽然我对这些功能不是很熟悉,但我简单地看了一下它们,它们似乎相当容易使用。


我已经研究了几个小时,但我找不到任何东西。至关重要的是,我能够通过数字而不是文本来调用数据。所以 $array["Apples"] 是 Not Acceptable 。

我还查看了 json_decode 和序列化/反序列化,我想我通过简单的了解就了解了它们的基本概念......但我认为我的主要问题是理解如何调用我的示例中显示的上述数据.任何帮助都会非常有用。

最佳答案

这是我根据@Pixeler 的回答得出的解决方案。

<?php
$i = 0;
foreach ($array as $k1 => $v1) {
if (is_array($v1)) {
echo $k1."<br />";
foreach ($v1 as $k2 => $v2) {
echo "--".$k2."<br />----".$v2."<br />";
}
$i++;
}
echo "<br /<br />";
}
?>

关于php - 从多级数组中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7941212/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com