如何使用空值获取PHP数组中的键?

时间:2013-10-26 16:28:19

标签: php arrays foreach

当我使用$key打印一个字符串为$value且数组为foreach ($array key => value)的数组时,不显示带有null值的键。有人可以帮帮我吗?

$stockist = array();
while($row = mysql_fetch_array($result)) {   
    $pharmacy = trim($row['pharmacy']);
    if (isset($stockist[$pharmacy])) {
        $medicine = $stockist[$pharmacy];
        $medicine[] = trim($row['pharmacy']);
        $stockist[$pharmacy] = $medicine;
    }
    else {
        $medicine = array();
        $medicine[] = trim($row['medicine']);
        $stockist[$pharmacy] = $medicine;
    }
}

ksort($stockist);
foreach ($stockist as $key => $value) {
    echo "<table align='center' border='1'>";
    echo "<tr><td align = 'justify'> <font color = 'blue'> $key</td></tr>";
    foreach ($value as $key1 => $value1) {
        echo "<tr><td align ='justify'>$value1</td></tr><br>";
    }
    echo "</table>";
}

2 个答案:

答案 0 :(得分:0)

这并不是您正在寻找的内容,但它正是标题所要求的(&#34;如何在具有空值的PHP数组中获取密钥?&#34; - - 我自己带问题的问题):

function find_nulls($a) {
    return array_keys(array_filter($a, function($b) {
       return is_null($b);
    }) );
}

答案 1 :(得分:0)

您可以使用for循环代替foreach。

$stockCount = count($stockist);
for ($stockCount; $i <=0; $i++) {

  echo "<table align='center' border='1'>";
  echo "<tr><td align = 'justify'> <font color = 'blue'> $stockCount[$i]</td></tr>";


  echo "</table>";

}

希望它会起作用。