1
私は$ arrayと$array1
という2つの多次元配列を持っていますが、キーと値は動的です。array_diff()
が$array
と$array1
であり、テーブルの列名と配列の値としてテーブルとして表示したい値。実際の問題は、値を持たない列を省略できないということです。ここでは、ハードコードされた配列キーと値を持つサンプルコードを提供しています。動的多次元配列キーがその配列に値を持たない場合、それを削除する方法。
<?php
error_reporting(0);
$array[0] = array("key1" => "valueNew", "key2" => "Array2", "key3" => "value3", "key4" => "value4");
$array[1] = array("key1" => "valuetwo", "key2" => "Array2", "key3" => "value3", "key4" => "value4");
$array[2] = array("key1" => "valueThree", "key2" => "Array2", "key3" => "value3", "key4" => "value4");
$array1[0] = array("key1" => "Array1", "key2" => "Array2", "key3" => "Array3", "key4" => "Array4");
$array1[1] = array("key1" => "Array1", "key2" => "Array2", "key3" => "Array3", "key4" => "Array4");
$array1[2] = array("key1" => "Array1", "key2" => "Array2", "key3" => "Array3", "key4" => "Array4");
for($i=0;$i<count($array);$i++){
$implode[$i]=array_diff($array[$i],$array1[$i]);
}
$arrayKeys=array_keys($array[0]);
?>
<table width="200" border="1">
<tr>
<?php
for($i=0;$i<count($arrayKeys);$i++){
?>
<th scope="col"><?php echo $arrayKeys[$i]; ?></th>
<?php
}
?>
</tr>
<tr>
<?php
for($i=0;$i<count($arrayKeys);$i++)
{
?>
<td><?php for($j=0;$j<count($implode);$j++)
{
echo $implode[$j][$arrayKeys[$i]]."<br>";
} ?></td>
<?php
}
?>
</tr>
</table>
*本当の問題は、値を持たない列を省略できないことです。* '$ ar = array_filter($ ar);' – splash58