提取第一个数组的子字符串以从PHP中获取第二个数组的匹配值

时间:2018-04-17 06:37:00

标签: php

举个例子:

$store = {A, B, C, D, E}

$price = {2, 10, 1, 500, 20}

存储[0]的值为2,[1]为10,依此类推。我想知道怎么做。我尝试使用min()但无济于事(除非我错过了一些东西)。这是我到目前为止所做的:

$x;

for ($x = $price.Count - 1; $x >= 0; $x--)

{

//this is the part where I can't figure it out
//compare prices here
//get the lowest price
//x = theSubstringOfTheLowestPrice

}

echo $store[x];

4 个答案:

答案 0 :(得分:1)

  1. 您的PHP代码无效:$price = {A}表示您必须使用array()[]包含常量A和php数组。

  2. 使用array_combine()创建键值对(demo):

  3. $store = ['A', 'B', 'C', 'D', 'E'];
    
    $price = [2, 10, 1, 500, 20];
    
    $range = array_combine($store, $price);
    
    var_dump($range['D']); // 500
    

答案 1 :(得分:0)

试试这个:

$store = array(A, B, C, D, E);
$price = array(2, 10, 1, 500, 20);

$index=array_search(min($price), $price); 
echo $store[$index];

答案 2 :(得分:0)

不要将这些键值对存储在2个单独的数组中,而是将它们与如下所示相关联:

>>>$storePrices = [
    "A" => 2,
    "B" => 10,
    "C" => 1,
    "D" => 500,
    "E" => 20
]

现在要获得$storePrices数组中的最低商品价格,请使用min()

>>>min($storePrices)
=> 1

如果您希望从给定的最低价格获得相关商店,您可以这样实现:

>>>array_search(1, $storePrices)
=> "C"

或者

>>>array_search(min($storePrices), $storePrices)
=> "C"

答案 3 :(得分:0)

您可以使用这样的关联数组:

$prices = [ 'A' => 20, 'B' => 30, 'C' => 10];

然后像这样计算最低价格:

$result = array_keys($prices, min($prices));

以下是$result的var_dump:

array(1) {
  [0] =>
  string(1) "C"
}