首页 / PHP / PHP循环并返回多维数组的$key
PHP循环并返回多维数组的$key
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP循环并返回多维数组的$key,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2160字,纯文字阅读大概需要4分钟。
内容图文
![PHP循环并返回多维数组的$key](/upload/InfoBanner/zyjiaocheng/789/9f40b409f09a4603be5c5b2db58da37e.jpg)
我正在尝试编写一个PHP函数来循环到一个多维数组中,以便将它与商业名称相匹配,然后将“业务类型”返回给我.
凭借我目前的技能,我编写了这个函数,但我想知道除了循环两次之外是否有更好的解决方案因为我的真实数组比下面的例子大得多.
注意:我是学生,我已经搜索过StackOverflow,但找不到我的需求.
function find_business_type($dealer_name) {
$business_type = [
"OEM" => ["kia", "mercedes"],
"Rent" => ["rent", "rent-a-car"],
"Workshop" => ["shop", "workshop"],
"Spare Parts" => ["spare", "parts", "part"],
"General Trading" => ["gen", "general"]
];
foreach ($business_type as $key => $values) {
foreach ($values as $value) {
if (strpos($dealer_name, $value) !== false) {
return $key;
}
}
}
}
$my_dealer = "super-stars-123 rent a car";
echo find_business_type($my_dealer);
Output: “Rent”
解决方法:
这是一个想法.实质上,您可以过滤数组并根据百分比获取与您的字符串匹配的所有行.请注意,array_filter将返回一个数组,其中包含所有匹配值,而不仅仅是一个匹配项.
<?php
$dealer = "super-stars-123 rent a car";
$types = [
"OEM" => ["kia", "mercedes"],
"Stars" => ["super-stars", "123"],
"Brown" => ["super stars", "abc"],
"Home" => ["think rent", "123"],
"Super" => ["renter", "car"],
"Rent" => ["rent", "rent-a-car"],
"Workshop" => ["shop", "workshop"],
"Spare Parts" => ["spare", "parts", "part"],
"General Trading" => ["gen", "general"]
];
// Filter through your array
$results = array_filter($types, function($type) use ($dealer) {
// explode your inner array to a string and then try to match it
// to your search dealer text. This returns a % match.
// I would play around with this algo logic below to get it to do what you want.
return (similar_text($dealer, implode(", ",$type), $percent) >= 8);
});
var_dump($results);
array (size=4)
'Stars' =>
array (size=2)
0 => string 'super-stars' (length=11)
1 => string '123' (length=3)
'Brown' =>
array (size=2)
0 => string 'super stars' (length=11)
1 => string 'abc' (length=3)
'Super' =>
array (size=2)
0 => string 'renter' (length=6)
1 => string 'car' (length=3)
'Rent' =>
array (size=2)
0 => string 'rent' (length=4)
1 => string 'rent-a-car' (length=10)
内容总结
以上是互联网集市为您收集整理的PHP循环并返回多维数组的$key全部内容,希望文章能够帮你解决PHP循环并返回多维数组的$key所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。