大家好,我有一个数组,比如
$return = array(
'GPPZ20'=>'5.00',
'GPPZ45'=>'10.00',
'GPPZ75'=>'15.00',
'GPPZH20'=>'5.00',
);
也有一个数组
[0] => Array
(
[main_company] => Marketing
[code] => GPPZH20XSYDLDJ
[company] => All Companies
)
[1] => Array
(
[main_company] => Some Company
[code] => XHJDOJSHHJYD
[company] => All Companies
)
等等
我需要做的是从第二个数组中获取代码值,并检查前几个字符是否与返回数组中的任何字符匹配,如果匹配,则从返回数组中获取值。
我可以指定前5个字符或6个字符,因为返回数组中的键可以是任何数字,但它们总是代码的开头。
你所需要的是
foreach ( $data as $v ) {
foreach ( $return as $k => $f ) {
if (strpos($v['code'], $k) === 0) {
printf("%s %s %f 'n", $v['main_company'], $v['code'], $f);
}
}
}
输出Marketing GPPZH20XSYDLDJ 5.000000
假设您已经从第二个数组中获得了一个代码值,则截断它的第一部分。
$code = $array[0]['code'];
$str = substr($code, 0, 5);
foreach($return as $key=>$element){
if($key==$str){
echo $element;
}
}