/ / PHP डुप्लिकेट ऑब्जेक्ट्स को सरणी से निकाल रहा है - php, सरणियाँ, ऑब्जेक्ट, डुप्लिकेट-रिमूवल

PHP डुप्लिकेट ऑब्जेक्ट को सरणी से निकाल रहा है - php, सरणियाँ, ऑब्जेक्ट, डुप्लिकेट-रिमूवल

मैंने डुप्लिकेट मानों को हटाने के लिए फ़ंक्शंस में निर्मित PHP लॉजिक और PHP के सभी प्रकारों की कोशिश की है, लेकिन यह काम नहीं कर रहा है कोई त्रुटि नहीं दिखाता है, लेकिन मेरे सभी JQuery और CSS काम नहीं करते हैं " array_unique() in_array() मेरे सरणी में डुप्लिकेट ऑब्जेक्ट को निकालने के लिए

यह है कि मैं कैसे बना रहा हूँ person_row_array थोड़ी देर के भीतर:

$person_row = Person::findByID($pi_claimant_row->person_id);
$person_row_array[] = $person_row;

ऑब्जेक्ट print_r नीचे है:

Array
(
[0] => stdClass Object
(
[id] => 12
[flat_no] =>
[house_no] => *
[street] =>
[town] =>
[postcode] => *
[county] =>
)

[1] => stdClass Object
(
[id] => 14
[flat_no] => 2
[house_no] => 33
[street] => Street
[town] => Town
[postcode] => BB
[county] => County
)

[2] => stdClass Object
(
[id] => 14
[flat_no] => 2
[house_no] => 33
[street] => Street
[town] => Town
[postcode] => BB
[county] => County
)

[3] => stdClass Object
(
[id] => 14
[flat_no] => 2
[house_no] => 33
[street] => Street
[town] => Town
[postcode] => BB
[county] => County
)

[4] => stdClass Object
(
[id] => 15
[flat_no] => FN
[house_no] => HN
[street] => Street
[town] => Nelson
[postcode] => PC
[county] => Manchester
)

[5] => stdClass Object
(
[id] => 15
[flat_no] => FN
[house_no] => HN
[street] => Street
[town] => Nelson
[postcode] => PC
[county] => Manchester
)

[6] => stdClass Object
(
[id] => 16
[flat_no] => FN
[house_no] => house
[street] => Manchester Road
[town] => Town
[postcode] => M1 4MK
[county] => County
)

)

मैं उन डुप्लिकेट को हटाना चाहता हूं कृपया मदद करेंऔर कृपया मुझे एरे_निक का उपयोग करने की सलाह न दें () मैं "पिछले कुछ घंटों से काम नहीं कर रहा हूं, लेकिन अगर आप मुझे कोई अन्य तरीका बता सकते हैं या पहले से ही बाहर नहीं निकलते हैं तो ऑब्जेक्ट जोड़ सकते हैं।"

कृपया ध्यान दें कि यह नकली डेटा है मैं केवल उन सरणी को हटाना चाहता हूं जिनके समान आईडी हैं।

सादर

उत्तर:

जवाब के लिए 3 № 1

निम्नलिखित कोड का प्रयास करें

function my_array_unique($array, $keep_key_assoc = false){
$duplicate_keys = array();
$tmp = array();

foreach ($array as $key => $val){
// convert objects to arrays, in_array() does not support objects
if (is_object($val))
$val = (array)$val;

if (!in_array($val, $tmp))
$tmp[] = $val;
else
$duplicate_keys[] = $key;
}

foreach ($duplicate_keys as $key)
unset($array[$key]);

return $keep_key_assoc ? $array : array_values($array);
}