我有两个数组$products
和$id_n_qty
$ id_n_qty数组包含产品ID及其数量,其中$ products数组包含所有带有ID和名称的产品。
$products = array(1=>"Shampoo",2=>"Towel");
$id_n_qty = array(1=>3);
我的问题是,如果$id_n_qty
跟我一起而不使用php foreach
,我怎样才能获得产品名称?
谢谢
答案 0 :(得分:3)
尝试array_keys
喜欢
$key_val = array_keys($id_n_qty);
echo $products[$key_val[0]];
考虑到$id_n_qty
中只有一个数组。
答案 1 :(得分:0)
如果您说$id_n_qty
的密钥与$products
中的密钥匹配,则只需调查密钥值。
$product_names = array_intersect_key($products, $id_n_qty);
请注意,这会为您提供$ id_n_qty中所有键值的产品名称,因此$ product_names变量是一个数组。
答案 2 :(得分:0)
如果你说你有单个数组,你可以得到这样的ID:
// Getting ID
$id = key(reset($id_n_qty));
// Getting Quantity
$qty = $id_n_qty[$id];
但我必须说这不是一种优雅的方式。你可以将id和数量作为单独的项目获得,然后获得它会更优雅:
// First item is ID and second item is Quantity
$id_n_qty = array(1, 3);
// Getting ID and Quantity:
list($id, $quantity) = $id_n_qty;
如你所见,它很容易看起来很好。如果你可以将数组转换为。