配列で検索している値に基づいてキー インデックスを取得しようとしています。私は次の配列を持っています:
[0] => Array
(
[n1:ProductWithTermPricingOptions] => Array
(
[n1:ProductName] => Customer will provide modem
[n1:PricingOptions] => Array
(
[n1:Priority] => 600
[n1:PricingOptionCode] => LCTL_SA_MDM_NONE_LCTL:NONE:MODEM:IN:CON:SA:na:na:NONE:NONE:-1:-1:NONE:LCTL:NONE:0:na:NONE:A:PO:na:0:NULL:NULL:NULL
[n1:ProductMonthlyCharge] => $0.00
[n1:PromoMonthlyCharge] => $0.00
[n1:ProductActivationCharge] => $0.00
[n1:ProductActivationChargeDescription] => Array
(
)
[n1:ContractLength] => Array
(
)
(
)
(
)
[n1:ProductDisclaimer] => Array
(
)
)
)
「Customer will provide modem」という値が存在するキー番号を取得する必要があります。この場合、キーに対して番号 0 を返す必要があります。他の状況では、別の位置を返します。次のことを試しましたが、値が [0] ではなくキーを返します。
public static function searchArrayKeybyValue(array $array, $search) {
foreach ( new RecursiveIteratorIterator ( new RecursiveArrayIterator ( $array ) ) as $key => $value ) {
if ($search === $value)
return $key;
}
return "N/A";
}
どんな助けでも大歓迎です。ここでの私の目標は、このオプションを配列の最後の位置に配置することです。ありがとうございました。