Php 从多维数组中的值获取键
我有1500个英语同义词,格式如下:Php 从多维数组中的值获取键,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有1500个英语同义词,格式如下: array(1521) { [0]=> array(2) { [0]=> string(5) "April" [1]=> string(3) "Apr" } [1]=> array(7) { [0]=> string(5) "China" [1]=> string(26) "People's Republic of China" [
array(1521) {
[0]=>
array(2) {
[0]=>
string(5) "April"
[1]=>
string(3) "Apr"
}
[1]=>
array(7) {
[0]=>
string(5) "China"
[1]=>
string(26) "People's Republic of China"
[2]=>
string(14) "mainland China"
[3]=>
string(15) "Communist China"
[4]=>
string(9) "Red China"
[5]=>
string(3) "PRC"
[6]=>
string(6) "Cathay"
}
[2]=>
array(2) {
[0]=>
string(8) "December"
[1]=>
string(3) "Dec"
}
[3]=>
array(4) {
[0]=>
string(5) "Earth"
[1]=>
string(5) "earth"
[2]=>
string(5) "world"
[3]=>
string(5) "globe"
}
...
[1519]=>
array(2) {
[0]=>
string(4) "year"
[1]=>
string(10) "solar year"
}
[1520]=>
array(2) {
[0]=>
string(4) "zero"
[1]=>
string(4) "null"
}
}
我试图创建一个函数,它接受一个单词并返回子数组键
例:
我试图结合我在已经存在的stackoverflow问题上找到的一些示例,但没有任何东西符合我的需要您可以使用
foreach
函数遍历数组中的所有值,然后使用in_array
函数检查内部数组中是否存在该值:
function get_synonym_family($array, $word) {
foreach($array as $key => $sub_array) {
if (in_array($word, $sub_array)) {
return $key;
}
}
return false;
}
您可以使用
foreach
函数遍历数组中的所有值,然后使用in_array
函数检查内部数组中是否存在该值:
function get_synonym_family($array, $word) {
foreach($array as $key => $sub_array) {
if (in_array($word, $sub_array)) {
return $key;
}
}
return false;
}
foreach
+array\u search
@u\u mulder,我认为foreach
+在数组中
:)@Dekel真的吗<数组中的code>将返回3
?返回的应位于foreach
中。3
是第一级(不是第二级)。@u\u mulder,你可以检查我的答案foreach
+array\u search
@u\u mulder,我想foreach
+in\u array
:)@Dekel真的吗<数组中的code>将返回3
?返回的应位于foreach
中。3
在第一级(不是第二级)。@u\u mulder,你可以检查我的答案
<?php
$array = [1 => ['apple','ball'.'cat'],2 => ['foo'.'bar']];
function get_synonym_family($id, $array) {
foreach ($array as $key => $val) {
foreach($val as $a)
{
if($a == $id)
{
return $key;
}
}
}
return null;
}
echo searchForId('apple',$array);