Php 从多维数组中提取数据

Php 从多维数组中提取数据,php,Php,我试图从PHP多维数组中提取特定数据 数组是这样的: Array ( [0] => Array ( [0] => Item Code Number [1] => Item Name [2] => Item Description [3] => MSRP [4] => Cost [5] =>

我试图从PHP多维数组中提取特定数据

数组是这样的:

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
添加到second
foreach
中,例如:
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....