Php 从多维数组中提取数据
我试图从PHP多维数组中提取特定数据 数组是这样的:Php 从多维数组中提取数据,php,Php,我试图从PHP多维数组中提取特定数据 数组是这样的: Array ( [0] => Array ( [0] => Item Code Number [1] => Item Name [2] => Item Description [3] => MSRP [4] => Cost [5] =>
Array
(
[0] => Array
(
[0] => Item Code Number
[1] => Item Name
[2] => Item Description
[3] => MSRP
[4] => Cost
[5] => Weight Pounds
[6] => Weight Kgs
[7] => Category 1
[8] => Category 2
[9] => Category 3
[10] => Category 4
[11] => Youtube Link
[12] => Large Image URL
)
[1] => Array
(
[0] => 1
[1] => Amazing Magic Set
[2] => Easy to learn magic tricks
[3] => 24.95
[4] => 10.5
[5] => 0.95
[6] => 0.43
[7] => New Items
[8] => Tricks
[9] => *New Tricks*
[10] => All Tricks
[11] => blank
[12] => http://www.magicmakersinc.com/images/product/large/0051.jpg
)
)
我想做的是在数组中循环,从每个条目中拉出0、1、2、4、6键并显示数据
这就是我尝试使用的:
$keys = (array_keys($csv));
for ($row = 0; $row < sizeof($csv); $row++) {
echo "<tr>";
foreach($keys[$row] as $key => $value) {
echo "<td>".$value."</td>";
}
echo "</tr>";
}
$keys=(数组_keys($csv));
对于($row=0;$row$value){
回显“$value.”;
}
回声“;
}
我不能让它显示任何东西
我也试过:
for($i = 0; $i < count($csv); $i++) {
echo "<tr>";
foreach($csv[$keys[$i]] as $key => $value) {
echo "<td>".$value(0)."</td>";
}
echo "</tr>";
}
for($i=0;$i$value){
回显“$value(0)”;
}
回声“;
}
我不知道我做错了什么。任何帮助都很好。为每个人使用两个
:
foreach ($row ar $tr) {
echo "<tr>";
foreach($tr as $td) {
echo "<td>".$td."</td>";
}
echo "</tr>";
}
foreach($row ar$tr){
回声“;
foreach($tr as$td){
回声“$td.”;
}
回声“;
}
试试看
for($row=0;$row$value){
如果($k='0'| |$k='1'| |$k=='2'| |$k=='4'| |$k=='6'){
回显“$value.”;
}
}
回声“;
}
尝试以下代码:
foreach ($row ar $val) {
echo "<tr>";
foreach($val as $k => $v) {
if($k == '0' || $k == '1' || $k == '2' || $k == '4' || $k == '6'){
echo "<td>".$td."</td>";
}
}
echo "</tr>";
}
foreach($row ar$val){
回声“;
foreach($val为$k=>$v){
如果($k='0'| |$k='1'| |$k=='2'| |$k=='4'| |$k=='6'){
回声“$td.”;
}
}
回声“;
}
假设=have
$myArray = Array(
[0] => Array
(
[0] => Item Code Number
[1] => Item Name
[2] => Item Description
[3] => MSRP
[4] => Cost
[5] => Weight Pounds
[6] => Weight Kgs
[7] => Category 1
[8] => Category 2
[9] => Category 3
[10] => Category 4
[11] => Youtube Link
[12] => Large Image URL
)
[1] => Array
(
[0] => 1
[1] => Amazing Magic Set
[2] => Easy to learn magic tricks
[3] => 24.95
[4] => 10.5
[5] => 0.95
[6] => 0.43
[7] => New Items
[8] => Tricks
[9] => *New Tricks*
[10] => All Tricks
[11] => blank
[12] => http://www.magicmakersinc.com/images/product/large/0051.jpg
)
)
您可以使用几个foreach来查看内容
foreach($myArray as $key1 => $value1){
foreach( $value1 as $key2 => $value2 ){
echo $key1 . ' ' $key2 .' value ' .$value2
}
}
或用于对0、1、2、4、6的特定访问
foreach($myArray as $key1 => $value1){
echo $key1 . ' ' . $value1[0] . '</br>';
echo $key1 . ' ' . $value1[1] . '</br>';
echo $key1 . ' ' . $value1[2] . '</br>';
echo $key1 . ' ' . $value1[4] . '</br>';
echo $key1 . ' ' . $value1[6] . '</br>';
}
}
foreach($myArray作为$key1=>$value1){
回显$key1.'.$value1[0].';
回显$key1.'.$value1[1].';
回显$key1.'.$value1[2].';
回显$key1.'.$value1[4].';
回显$key1.'.$value1[6].';
}
}
不同的方法,将数组组合在一起,第一个作为键,第二个作为值
//$data is contains your multidimensional array!
$combinedData = array_combine($data[0],$data[1]);
现在进入。。。。就像
echo $combinedData["Item Code Number"] ; // output 1
echo $combinedData["Item Name"]; //output Amazing Magic Set
//And so on....
这在哪里具体显示了单元格0、1、2、4、6?这输出:0 I 0 t 0 e 0 o我不明白为什么。可能是您的数组与样本中的数组不同如果需要特定的键,请将if
添加到secondforeach
中,例如:if(在数组中($tr,[0,1,2,4,6]))echo…
使用if in_数组比使用大型数组或块要干净得多:)也要考虑未来的建议-不要将多维数组用于这样的目的-因为它们应该仅用于可通过多维数组识别的数据(例如矩阵计算)。对于这样的用法-使用对象。做或不做,没有“尝试”。一个好的答案总是会有一个解释,说明做了什么以及为什么这样做,不仅是为了OP,而且是为了未来的访客。请在你说“试试这个”的地方修改你的每一个答案,不要解释你做了什么。今天就做。
echo $combinedData["Item Code Number"] ; // output 1
echo $combinedData["Item Name"]; //output Amazing Magic Set
//And so on....