-1

やあみんな私は次のような配列を持っています

 $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

    )

等々

私がする必要があるのは、2 番目の配列からコード値を取得し、最初の数文字のいずれかが戻り配列のいずれかと一致するかどうかを確認し、一致する場合は戻り配列から値を取得することです。

最初の 5 文字または 6 文字を指定できます。これは、戻り配列のキーは任意の数字にすることができますが、それらは常にコードの先頭であるためです。

どんなアイデアや助けも大歓迎です。

4

2 に答える 2

1

あなたに必要なのは

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
于 2012-12-31T20:09:26.073 に答える
0

2 番目の配列のコード値が既にあると仮定して、その最初の部分を切り取ります。

$code = $array[0]['code'];
$str = substr($code, 0, 5);

foreach($return as $key=>$element){
    if($key==$str){
         echo $element;
    }
}
于 2012-12-31T19:47:05.830 に答える