मेरे पास 2 सेट हैं। पहला सरणी श्रेणी और मात्रा का उत्पादन करता है, दूसरा श्रेणी और मूल्य के साथ आता है।

array:2 [
  0 => array:1 [
    "Adult " => " 2"
  ]
  1 => array:1 [
    " Senior " => " 1"
  ]
]



array:3 [
  0 => array:6 [
    "id" => 1
    "variant_id" => 1
    "variant_dtl_name" => "Adult"
    "variant_dtl_price" => 25.0

  ]
  1 => array:6 [
    "id" => 2
    "variant_id" => 1
    "variant_dtl_name" => "Senior"
    "variant_dtl_price" => 15.0

  ]
  2 => array:6 [
    "id" => 3
    "variant_id" => 1
    "variant_dtl_name" => "Children"
    "variant_dtl_price" => 8.0

  ]
]

कुल मूल्य प्राप्त करने के लिए मैं इन दो सरणी को कैसे पार कर सकता हूं? जैसे: Adult x 2 मूल्य का उत्पादन 50 और Senior x 1 आउटपुट 15 करेगा और कुल 65 तक समाप्‍त होगा। धन्यवाद!

1
d3bug3r 17 नवम्बर 2015, 10:19

2 जवाब

सबसे बढ़िया उत्तर

इसे कम खर्चीला बनाने के लिए, पहले $price_scale श्रेणी के मूल्य बनाएं।

और फिर श्रेणी मूल्य की गणना करने के लिए पहले सरणी में गुणा करना।

पहले सरणी के नाम को $array1 ans दूसरे के $array2 के रूप में मानते हैं।

$price_scale = [];

foreach ($array2 as $arr)
{
    $price_scale[trim($arr['variant_dtl_name'])] = $arr['variant_dtl_price'];
}

$count = [];

foreach ($array1 as $arr)
{
    $key = key($arr); $name = trim($key);
    $count[$name] = $price_scale[$name] * $arr[$key];
}

print_r($count);

कुल राशि पाने के लिए, बस एक और पंक्ति

$sum = array_sum($count);

यह फ़ॉर्च इटरेट करेगा

(t1 + t2) बार

T1 = $ array1
में सरणियों की संख्या t2 = $ array2 में सरणियों की संख्या

1
viral 17 नवम्बर 2015, 08:00

इसे आज़माएं। कार्य करना चाहिए। मुझे लगता है कि आप समझते हैं कि $secondArray और $thirdArray क्या हैं। मुझे पता है कि आउटपुट।

<?php 

foreach($secondArray as $catKey => $cat){

    foreach($cat as $key=>$val){
        $categoryName = $key;
        $quantity = $val;
    }

    foreach($thirdArray as $catDetails){
        if($catDetails['variant_dtl_name'] == $categoryName){
            $secondArray[$catKey]['price'] = $catDetails['variant_dtl_price'] * $quantity;
            $price[] = $catDetails['variant_dtl_price'] * $quantity;
        }
    }
}

print_r($secondArray);

//Since You needed the total, you can do this.
    echo array_sum($price);
    ?>
4
Parthapratim Neog 17 नवम्बर 2015, 08:07