Php 搜索数组键并返回匹配键的索引
我的数组如下所示:Php 搜索数组键并返回匹配键的索引,php,arrays,Php,Arrays,我的数组如下所示: [sx1] => Array ( [sx1] => Pain in Hand [sx1L] => Location [sx1O] => Other Treat [sx1T] => Type [sx1R] => Radiation [sx1A] => Aggrivate Ease
[sx1] => Array
(
[sx1] => Pain in Hand
[sx1L] => Location
[sx1O] => Other Treat
[sx1T] => Type
[sx1R] => Radiation
[sx1A] => Aggrivate Ease
[sx1D] => Duration
[sx1I] => Irit
[sx1P] => Previous Hx
[SX1T_1] => CX
[SX1T_2] => Shld
[SX1T_3] => Trnk
[SX1T_4] => Hip
[SX1T_5] =>
)
我需要能够通过一个键搜索数组,然后返回匹配项的索引。
例如,我需要在数组中搜索键“SX1T_1”,然后返回数组中该项的索引
感谢您的帮助。您可以使用数组键()获取数字索引:
$array = array(
'sx1' => 'Pain in Hand',
'sx1L' => 'Location',
'sx1O' => 'Other Treat',
'sx1T' => 'Type',
'sx1R' => 'Radiation',
'sx1A' => 'Aggrivate Ease',
'sx1D' => 'Duration',
'sx1I' => 'Irit',
'sx1P' => 'Previous Hx',
'SX1T_1' => 'CX',
'SX1T_2' => 'Shld',
'SX1T_3' => 'Trnk',
'SX1T_4' => 'Hip',
'SX1T_5' => '',
);
var_dump(array_search('SX1T_1', array_keys($array))); // int(9)
如果您不想使用任何函数,并且需要在数组中循环以搜索或匹配特定条件(尤其是在搜索变得更复杂的情况下),那么您可以使用以下原则遍历数组,找到
$mykey
的索引,并将其放入变量$myindex
。这段代码假设索引从零开始,如果要从1开始,则初始化$index=1代码>
$a = array(
"one" => 1,
"two" => 2,
"three" => 3,
"seventeen" => 17
);
$index = 0;
foreach ($a as $k => $v) {
if ($k == $mykey) {
$myindex=$index
}
$index=$index+1;
}
在这种情况下,预期的“索引”是什么?键“SX1T_1”的索引是9,因为它是数组中的第10项,并且从0开始计数。“SX1T_1”是索引。哦,感谢您的澄清,这正好说明我缺乏PHP知识!
$a = array(
"one" => 1,
"two" => 2,
"three" => 3,
"seventeen" => 17
);
$index = 0;
foreach ($a as $k => $v) {
if ($k == $mykey) {
$myindex=$index
}
$index=$index+1;
}