PHP通过从另一个数组传递值而不使用foreach从数组中获取值

时间:2013-12-06 07:06:12

标签: php arrays

我有两个数组$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,我怎样才能获得产品名称?

谢谢

3 个答案:

答案 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;

如你所见,它很容易看起来很好。如果你可以将数组转换为。