我有一个关联数组
array(
'item_name1' => 'PCC',
'item_name2' => 'ext',
'item_number1' => '060716113223-13555',
'item_number2' => '49101220160607-25222)',
)
我想要做的是捕获密钥名称具有相似性的所有数组键
例如,我想要回显item_name(它应该同时获取item_name1和amp; item_name2),但我需要它在一个循环(foreach / for)中,以便我可以在循环内将详细信息发送到我的数据库中为每组值
谢谢你的帮助
答案 0 :(得分:1)
使用funtion array_keys
$allKeys = array_keys($yourArray);
$amountKeys = count($allKeys);
除非您不提供更多代码,否则会为您提供$yourArray
的所有密钥
Reference - array_keys
要获得所有类似的键,您可以使用此功能similar-text()
由于我不知道密钥是多么“相似”,我建议您测试不同的值并找到符合您期望的学位。
答案 1 :(得分:0)
<?php
$items=[];
$itemsNumbers=[];
foreach($itemarr as $key=> $val)
{
$itempos = strpos("item_name", $key);
if ($pos !== false)
$items[]=$val;
$numberpos = strpos("item_number", $key);
if ($numberpos !== false)
$itemsNumbers[]=$val;
}
?>
Note: here $itemarr is your input array
$ item您将获得项目名称列表和$ itemsNumbers,您将获得itemsNumbers列表
答案 2 :(得分:0)
您的数据模型似乎使用数字后缀作为数组的替代,因此我假设键名具有相似性是一个高估的问题陈述,您只想修复它。
显而易见的工具是正则表达式:
foreach ($redacted_data as $k => $v) {
foreach ($v as $kk => $vv) {
printf("(%s,%s) = %s\n", $k, $kk, $vv);
}
}
根据您的确切需求调整应该很容易。
我无法弄清楚我在循环(foreach / for)中的要求是什么意思,但你可以将结果数组循环为任何其他数组:
$('#element').parents().eq(2);