Ive को 2 सरणियाँ मिलीं, पहले एक में वस्तुओं के मूल्य हैं, और दूसरे में उनकी आईडी शामिल है।
इस रूप में:
$values[0] applies to $ids[0]
$values[1] applies to $ids[1]
मुझे सबसे पहले (सॉर्ट () का उपयोग करके) सबसे कम से लेकर उच्चतम (मानों में इन्ट्स) टाइप करना है - यह समस्या नहीं है। समस्या यह है कि जब मैं मानों के साथ सरणी को सॉर्ट करता हूं, तो मैं उस मूल्य की आईडी खो दूंगा।
मेरा सवाल है: यह कैसे करना है
If $values[0] turns to $values[5], automatically turn $ids[0] to $ids[5]
धन्यवाद
अद्यतन करें:
$ मान और $ आईडी की सामग्री:
$values[0] = 1.5;
$values[1] = 2.4;
$values[2] = 15.7;
$values[3] = 11.7;
$values[4] = 4.8;
$values[5] = 0.4;
$ids[0] = 1;
$ids[1] = 2;
$ids[2] = 3;
$ids[3] = 4;
$ids[4] = 5;
$ids[5] = 6;
उत्तर:
उत्तर № 1 के लिए 4पहले सरणियों को मिलाएं, फिर कुंजी के आधार पर छाँटें:
$newArr = array_combine($ids, $values);
ksort($newArr);
उत्तर № 2 के लिए 1
ऐसा लगता है जैसे आप खोज रहे हैं array_combine()
:
उदाहरण
<?php
$ids = array(2, 1, 3); // IDs
$values = array(a, b, c); // Values
$array = array_combine($ids, $values); // Combine arrays as ID => Value
ksort($arrays); // Sort new array
print_r($array); // Echo array
उत्पादन
Array
(
1 => b,
2 => a,
3 => c,
)
जवाब के लिए 0 № 3
नीचे दिए गए कोड का पालन करें ... इसका परीक्षण नहीं किया है ... लेकिन यह काम करना चाहिए .... समझने में आसान है ..
<?php
$count = count($values);
for($i = 0; $i<$count; $i++)
{
if($i == 0)
{
$sort1 = $values[$i];
$sort2 = $ids[$i];
$temp = 0;
}
if($sort1 > $values[$i])
{
$sort1 = $values[$i];
$sort2 = $ids[$i];
$temp_val = $values[$temp];
$temp_id = $ids[$temp];
$values["temp"] = $values[$i];
$ids["temp"] = $ids[$i];
$temp = $i;
$values[$i] = $temp_val;
$ids[$i] = $temp_id;
}
}
?>