一尘不染

打印数组的键

php

我不知道如何将可变数量的变量传递给函数。我认为传入一个数组并使用数组键作为变量名可以代替将额外的变量传递给函数的需要,并且它起作用了(我敢肯定有一种更好的方法可以做到这一点,欢迎提出建议)。但是,我似乎无法从函数内部的数组中获取键。

数组:

  $parameters[day] = 1;
  $parameters[month] = 8;
  $parameters[year] = 2010;

函数内部:

foreach(key($parameters) as $key)
{
   print($key);
   print("<br>");
}

函数内部的代码重新发出警告:为foreach()提供了无效的参数。如何将键从阵列中拉出?


阅读 236

收藏
2020-05-29

共1个答案

一尘不染

您可以使用PHP的array_keys函数来获取密钥,如下所示:

foreach(array_keys($parameters) as $paramName)
  echo $paramName . "<br>";

或者,您可以使用特殊代码遍历数组,该特殊代码foreach使您可以将每个元素的键和值分开,如下所示:

foreach($parameters as $paramName => $value)
  echo $paramName . "<br>";

另外,请确保您使用"string"(带引号)或整数(如1337)作为密钥,如下所示:

$parameters["day"] = 1;
$parameters["month"] = 8;
$parameters["year"] = 2010;

或者,如果您想获得更高的评价:

$parameters = array(
  "day" => 1,
  "month" => 8,
  "year" => 2010
);

您的代码应如下所示:

$parameters = array(
  "day" => 1,
  "month" => 8,
  "year" => 2010
);
foreach($parameters as $paramName => $paramValue)
  echo $paramName . "<br>";
2020-05-29