পিএইচপি মধ্যে অ্যারের উপাদানগুলির কীগুলি পুনরায় সেট করবেন?


124

প্রশ্নটি কীভাবে উদাহরণস্বরূপ একটি অ্যারের জন্য কী পুনরায় সেট করবেন:

Array ( 
    [1_Name] => Array ( 
        [1] => leo 
        [4] => NULL 
    ) 
    [1_Phone] => Array ( 
        [1] => 12345 
        [4] => 434324
    )  
)

এতে পুনরায় সেট করুন:

Array ( 
    [1_Name] => Array ( 
        [0] => leo 
        [1] => NULL 
    ) 
    [1_Phone] => Array ( 
        [0] => 12345 
        [1] => 434324
    ) 
)

: এই উত্তর চেক stackoverflow.com/questions/5943149/...
Web_Developer

উত্তর:


294

একটি অ্যারেতে সমস্ত অ্যারের কীগুলি পুনরায় সেট করতে:

$arr = array_map('array_values', $arr);

যদি আপনি শুধুমাত্র প্রথম পর্যায়ের অ্যারে কি, ব্যবহার রিসেট করতে চান array_values()ছাড়া array_map


9
কোনও কারণে আমার অ্যারের কীগুলি রিসেট করেনি, কেবল array_valuesফাংশনটি ব্যবহার করতে হয়েছিল ।
এসএসএইচ এই

1
@ এসএসএইচ আপনি কি এখানে অ্যারে হিসাবে ব্যবহৃত হয়েছিল?
ছদ্মবেশ দিন

1
নাহ যে সমস্যাটি ছিল, আমি ভেবেছিলাম এটি "অ্যারে উপাদানগুলির কীগুলি পুনরায় সেট করার" কথা ছিল, এটি হয় না।
এসএসএইচ এই

3
আপনার অ্যারে_ম্যাপ ব্যবহার করতে হবে না: $ ret = অ্যারে_ভ্যালু ($ ret); সংখ্যাযুক্ত কীগুলি রিসেট করার জন্য যথেষ্ট
মারেক লেওয়ানডভস্কি

2
মানগুলি পুনরায় সেট করার জন্য অ্যারে_ভ্যালুগুলির ব্যবহার নথিভুক্ত কিনা তা আমি জানি না, তবে এটি হওয়া উচিত। এটি সত্যিই আমি লিখছিলাম যে লাইনের সংখ্যা হ্রাস করতে সাহায্য করেছিল :)
carbontwelve

192
$array[9] = 'Apple';
$array[12] = 'Orange';
$array[5] = 'Peach';

$array = array_values($array);

এই ফাংশনটির মাধ্যমে আপনি আপনার অ্যারেটি পুনরায় সেট করতে পারেন

$array[0] = 'Apple';
$array[1] = 'Orange';
$array[2] = 'Peach';

এই সমাধানটি আমার পক্ষে কাজ করেছে
আমিরহোসেইন তারমাস্ট


8

সহজ পদ্ধতির সাথে তুলনা করে যেভাবে প্রতারণা দেওয়া হয়েছিল তার মধ্যে আপনি এখানে পার্থক্য দেখতে পাবেন array_values:

অ্যারে:

$array['a'][0] = array('x' => 1, 'y' => 2, 'z' => 3);
$array['a'][5] = array('x' => 4, 'y' => 5, 'z' => 6);

$array['b'][1] = array('x' => 7, 'y' => 8, 'z' => 9);
$array['b'][7] = array('x' => 10, 'y' => 11, 'z' => 12);

ইন decezeপথ, এখানে আপনার আউটপুট হল:

$array = array_map('array_values', $array);
print_r($array);

/* Output */

Array
(
    [a] => Array
        (
            [0] => Array
                (
                    [x] => 1
                    [y] => 2
                    [z] => 3
                )
            [1] => Array
                (
                    [x] => 4
                    [y] => 5
                    [z] => 6
                )
        )
    [b] => Array
        (
            [0] => Array
                (
                    [x] => 7
                    [y] => 8
                    [z] => 9
                )

            [1] => Array
                (
                    [x] => 10
                    [y] => 11
                    [z] => 12
                )
        )
)

আপনি এখানে কেবলমাত্র array_valuesফাংশন ব্যবহার করলে এবং আপনার আউটপুটটি এখানে :

$array = array_values($array);
print_r($array);

/* Output */

Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [x] => 1
                    [y] => 2
                    [z] => 3
                )
            [5] => Array
                (
                    [x] => 4
                    [y] => 5
                    [z] => 6
                )
        )
    [1] => Array
        (
            [1] => Array
                (
                    [x] => 7
                    [y] => 8
                    [z] => 9
                )
            [7] => Array
                (
                    [x] => 10
                    [y] => 11
                    [z] => 12
                )
        )
)

5
$result = ['5' => 'cherry', '7' => 'apple'];
array_multisort($result, SORT_ASC);
print_r($result);

অ্যারে ([0] => আপেল [1] => চেরি)

//...
array_multisort($result, SORT_DESC);
//...

অ্যারে ([0] => চেরি [1] => আপেল)


-7

পিএইচপি নেটিভ ফাংশন এর জন্য বিদ্যমান। Http://php.net/manual/en/function.reset.php দেখুন

কেবল এটি করুন: mixed reset ( array &$array )


4
আপনি যে ম্যানুয়ালটি সংযোগ করছেন তা দয়া করে পড়ুন; resetঅন্য কিছু করে
প্রতারণা করুন

এটি ঠিক অ্যারের প্রথম উপাদানটিতে পয়েন্টার সরানো। ডিফল্ট অবস্থায় 0, 1, 2 ... কীগুলিকে ফেলে দেওয়ার জন্য টপিক স্টার্টার অনুসন্ধানের উপায় ... এন N
স্লোসুপারম্যান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.