Php 有没有办法获取数组的所有键?

Php 有没有办法获取数组的所有键?,php,Php,我想得到数组中的所有键,并将每个键与数字进行比较,比如: array( [0] => 7 [1] => 8 [2] => 4 [3] => 6 ) if (6 != EACH KEY OF ARRAY) { so... } 该条件不会显示,因为存在[3]=>6,当然键6=6 有一个函数可以做吗?还有什么事吗? foreach($array as $key => $val) { if (6 != $key) { // so... } } 示

我想得到数组中的所有键,并将每个键与数字进行比较,比如:

array(
[0] => 7
[1] => 8
[2] => 4
[3] => 6
)

if (6 != EACH KEY OF ARRAY) {
    so...
}
该条件不会显示,因为存在[3]=>6,当然键6=6

有一个函数可以做吗?还有什么事吗?

foreach($array as $key => $val)
{
  if (6 != $key) {
   // so...
  }
}
示例:

$array = array(7, 8, 4, 6);

foreach($array as $key => $val)
{
  if (6 != $key) {
   echo '6 is not equal to ' . $key . '<br />';
  }
  else {
   echo '6 is equal to ' . $key . '<br />';
  }
}
6 is not equal to 7
6 is not equal to 8
6 is not equal to 4
6 is equal to 6
print_r(array_keys($array));
print_r(array_flip($array));
但是,如果要检查数组中是否存在6的,请按如下方式使用
in_array

if (in_array(6, $array)) {
  // 6 is present in the array
}

示例:

$array = array(7, 8, 4, 6);

foreach($array as $key => $val)
{
  if (6 != $key) {
   echo '6 is not equal to ' . $key . '<br />';
  }
  else {
   echo '6 is equal to ' . $key . '<br />';
  }
}
6 is not equal to 7
6 is not equal to 8
6 is not equal to 4
6 is equal to 6
print_r(array_keys($array));
print_r(array_flip($array));
但是,如果要检查数组中是否存在6的,请按如下方式使用
in_array

if (in_array(6, $array)) {
  // 6 is present in the array
}
是的,我知道OP询问钥匙,但从他的例子来看,他似乎想要价值观

是的,我知道OP询问键,但从他的示例来看,他似乎想要值。

您想要函数,很可能:

<?php
$array = array(7,8,4,6);

// Keys is an array of the keys from $array - [0,1,2,3]
$keys = array_keys($array);

print_r($keys);
?>
(注意,原始键是新数组的

然后,您需要使用以下方法检查您要查找的值是否在数组中:


您想要的功能很可能是:

<?php
$array = array(7,8,4,6);

// Keys is an array of the keys from $array - [0,1,2,3]
$keys = array_keys($array);

print_r($keys);
?>
(注意,原始键是新数组的

然后,您需要使用以下方法检查您要查找的值是否在数组中:


我不确定是否理解您的要求,但其中一个可能适合您:

只取钥匙:

$array = array(7, 8, 4, 6);

foreach($array as $key => $val)
{
  if (6 != $key) {
   echo '6 is not equal to ' . $key . '<br />';
  }
  else {
   echo '6 is equal to ' . $key . '<br />';
  }
}
6 is not equal to 7
6 is not equal to 8
6 is not equal to 4
6 is equal to 6
print_r(array_keys($array));
print_r(array_flip($array));

用值交换键:

$array = array(7, 8, 4, 6);

foreach($array as $key => $val)
{
  if (6 != $key) {
   echo '6 is not equal to ' . $key . '<br />';
  }
  else {
   echo '6 is equal to ' . $key . '<br />';
  }
}
6 is not equal to 7
6 is not equal to 8
6 is not equal to 4
6 is equal to 6
print_r(array_keys($array));
print_r(array_flip($array));


我不确定我是否理解你的要求,但其中一个可能适合你:

只取钥匙:

$array = array(7, 8, 4, 6);

foreach($array as $key => $val)
{
  if (6 != $key) {
   echo '6 is not equal to ' . $key . '<br />';
  }
  else {
   echo '6 is equal to ' . $key . '<br />';
  }
}
6 is not equal to 7
6 is not equal to 8
6 is not equal to 4
6 is equal to 6
print_r(array_keys($array));
print_r(array_flip($array));

用值交换键:

$array = array(7, 8, 4, 6);

foreach($array as $key => $val)
{
  if (6 != $key) {
   echo '6 is not equal to ' . $key . '<br />';
  }
  else {
   echo '6 is equal to ' . $key . '<br />';
  }
}
6 is not equal to 7
6 is not equal to 8
6 is not equal to 4
6 is equal to 6
print_r(array_keys($array));
print_r(array_flip($array));


同一个密钥不能有多个,因此无需在整个数组中循环,只需编写代码查找它即可。您可以这样做:

$arr = Array('1'=>'a','3'=>'b','6'=>'c'); if (array_key_exists('6',$arr)) { echo 'value of 6 = ' . $arr['6']; } $arr=Array('1'=>'a','3'=>'b','6'=>'c'); 如果(数组键存在('6',$arr)) { echo“值为6=”.$arr['6']; }
同一个密钥不能有多个,因此无需在整个数组中循环,只需编写代码查找它即可。您可以这样做:

$arr = Array('1'=>'a','3'=>'b','6'=>'c'); if (array_key_exists('6',$arr)) { echo 'value of 6 = ' . $arr['6']; } $arr=Array('1'=>'a','3'=>'b','6'=>'c'); 如果(数组键存在('6',$arr)) { echo“值为6=”.$arr['6']; }
如果您只想查看数组中是否存在密钥,这是最快的方法:

$key = 6; // for example
if(isset($myArray[$key]))
{
    echo "the key $key is used in the array";
}

如果您只想查看数组中是否存在密钥,这是最快的方法:

$key = 6; // for example
if(isset($myArray[$key]))
{
    echo "the key $key is used in the array";
}


如果(6!=$key&&6!=$val){这不好,因为它会多次执行此条件..我想一次传递数组,一次检查所有。无论如何,谢谢你!@Fosco:OP需要检查键,因为他没有指定值是否存在,但是我也建议了。等等,他一直都想要值?见鬼?我想你的意思是:$key=>$valif(6!=$key&&6!=$val){这不好,因为它会多次执行此条件..我想一次传递数组,一次检查所有。无论如何,谢谢你!@Fosco:OP需要检查键,因为他没有指定值是否存在,但是我也建议了。等等,他一直都想要值?见鬼?我想你的意思是:$key=>$valreal?你呢难道不能用谷歌搜索“php数组键”吗?要获得数组键的列表,请使用[array_key],并在不知道键的情况下遍历数组的所有成员使用[foreach]google中有所有的东西,那么这个网站为什么存在呢?我是begginer,所以我不太清楚(我真的很抱歉-u-)。好的,我们很乐意提供帮助,但这个问题没有多大意义。你能更清楚地告诉我你想做什么或想实现什么吗?你说“…当然是键6=6…”但是你的数组没有键
6
。也许你的意思是:“…当然是键6!=6…”相反?现在真的吗?你不能仅仅用谷歌搜索“php数组键”?要获取数组键列表,请使用[array_键],并在不知道键的情况下迭代数组的所有成员使用[foreach],那么这个网站为什么存在呢?我是begginer,所以我不太清楚(真的很抱歉-u-)。好的,我们很乐意提供帮助,但这个问题没有多大意义。你能更清楚地告诉我你想做什么或想实现什么吗?你说“…当然是键6=6…”但是你的数组没有键
6
。也许你的意思是:“…当然是键6!=6…”相反,他不是在寻找值6,而是在寻找键,其中
$array[key]=value
不,他在寻找值……看看@OP对被接受答案的评论他不是在寻找值6,而是在寻找键,其中
$array[key]=value
不,他在寻找值……看看@OP对被接受答案的评论