$test = array('hi');
$test += array('test','oh');
var_dump($test);
+
পিএইচপি-তে অ্যারের অর্থ কী ?
array_merge
? এটির মতো যদি অ্যারেগুলি ডিফল্টরূপে সংঘবদ্ধ অ্যারে হয় এবং সংখ্যাসূচক অ্যারেগুলি দ্বিতীয় শ্রেণির নাগরিক হয়।
$test = array('hi');
$test += array('test','oh');
var_dump($test);
+
পিএইচপি-তে অ্যারের অর্থ কী ?
array_merge
? এটির মতো যদি অ্যারেগুলি ডিফল্টরূপে সংঘবদ্ধ অ্যারে হয় এবং সংখ্যাসূচক অ্যারেগুলি দ্বিতীয় শ্রেণির নাগরিক হয়।
উত্তর:
ভাষা অপারেটরদের উপর পিএইচপি ম্যানুয়াল থেকে উদ্ধৃতি দেওয়া
+ অপারেটর বাম-হাতের অ্যারেতে যুক্ত ডান হাতের অ্যারেটি দেয়; উভয় অ্যারেতে থাকা কীগুলির জন্য, বাম-হাতের অ্যারের থেকে উপাদানগুলি ব্যবহার করা হবে এবং ডান হাতের অ্যারে থেকে মিলিত উপাদানগুলি উপেক্ষা করা হবে।
আপনি যদি তাই
$array1 = ['one', 'two', 'foo' => 'bar'];
$array2 = ['three', 'four', 'five', 'foo' => 'baz'];
print_r($array1 + $array2);
তুমি পাবে
Array
(
[0] => one // preserved from $array1 (left-hand array)
[1] => two // preserved from $array1 (left-hand array)
[foo] => bar // preserved from $array1 (left-hand array)
[2] => five // added from $array2 (right-hand array)
)
সুতরাং এর যুক্তি +
নিম্নলিখিত স্নিপেটের সমতুল্য:
$union = $array1;
foreach ($array2 as $key => $value) {
if (false === array_key_exists($key, $union)) {
$union[$key] = $value;
}
}
আপনি যদি সি-লেভেল বাস্তবায়নের বিবরণে আগ্রহী হন
দ্রষ্টব্য, এটি অ্যারেগুলিকে +
কীভাবে array_merge()
একত্রিত করবে তার থেকে পৃথক :
print_r(array_merge($array1, $array2));
আপনাকে দিতে হবে
Array
(
[0] => one // preserved from $array1
[1] => two // preserved from $array1
[foo] => baz // overwritten from $array2
[2] => three // appended from $array2
[3] => four // appended from $array2
[4] => five // appended from $array2
)
আরও উদাহরণের জন্য লিঙ্কযুক্ত পৃষ্ঠাগুলি দেখুন।
+
এবং array_merge
কল উভয়ই zend_hash_merge
। এটিও প্রত্যাশিত, যেহেতু পিএইচপি-তে অ্যারেগুলি অর্ডার করা হ্যাশ মানচিত্র হিসাবে প্রয়োগ করা হয়।
+
এবং array_merge
বিকৃত এবং অনিচ্ছুক। সরল-ইংলিশ পাঠটি স্বজ্ঞাতভাবে আপনাকে 'যোগ' বা 'মার্জিং' অ্যারেগুলি যা বলবে তার থেকে এগুলি বিপরীত're অন্যান্য ভাষা / গ্রন্থাগারগুলি +
তালিকাগুলি (উদাহরণস্বরূপ পাইথনে) এবং "একত্রিত" ফাংশনগুলিকে এক বস্তুর থেকে অন্য বস্তুর (যেমন ল্যাডাশে) যোগ করার জন্য ব্যবহার করে। তবুও পিএইচপি এ এটি অন্যভাবে; array_merge
তালিকার মতো অ্যারেগুলিকে সংযুক্ত করার জন্য ব্যবহার করা যেতে পারে তবে তা +
পারে না। বিপরীতে array_merge
, +
সর্বদা অপারেশন সম্পাদন করে যা অন্য কোনও ভাষায় "মার্জ" বলে।
array_concat
array_merge
এটি ব্যবহারের জন্য আমি যে সর্বোত্তম উদাহরণটি পেয়েছি তা হ'ল একটি কনফিগার অ্যারে।
$user_vars = array("username"=>"John Doe");
$default_vars = array("username"=>"Unknown", "email"=>"no-reply@domain.com");
$config = $user_vars + $default_vars;
$default_vars
, যেমন প্রস্তাব দেওয়া হয়, ডিফল্ট মান জন্য অ্যারে। $user_vars
অ্যারে মান সংজ্ঞায়িত ওভাররাইট করবে $default_vars
। যে কোনও অনুপস্থিত মান $user_vars
এখন ডিফল্ট ভার্স $default_vars
।
এটি হবে print_r
:
Array(2){
"username" => "John Doe",
"email" => "no-reply@domain.com"
}
আশা করি এটা কাজে লাগবে!
এই অপারেটরটি দুটি অ্যারের সংশ্লেষ নিয়ে যায় (অ্যারে_মেজরের অনুরূপ, অ্যারে_ডর্মাইয়ারের সদৃশ কীগুলি ওভাররাইট করা বাদে)।
অ্যারে অপারেটরগুলির জন্য ডকুমেন্টেশন এখানে পাওয়া যায় ।
সংখ্যাসূচক কীগুলির সাথে যত্নশীল, যদি সেগুলি সংরক্ষণ করা উচিত বা আপনি যদি কিছু ছেড়ে দিতে চান না
$a = array(2 => "a2", 4 => "a4", 5 => "a5");
$b = array(1 => "b1", 3 => "b3", 4 => "b4");
মিলন
print_r($a+$b);
Array
(
[2] => a2
[4] => a4
[5] => a5
[1] => b1
[3] => b3
)
একত্রিত করা
print_r(array_merge($a, $b));
Array
(
[0] => a2
[1] => a4
[2] => a5
[3] => b1
[4] => b3
[5] => b4
)
+
অপারেটর হিসাবে একই ফল array_replace () । তবে যেহেতু অপারেটরের যুক্তিগুলি বিপরীত রয়েছে, ফলস্বরূপ অ্যারের ক্রমও ভিন্ন হতে পারে।
এই পৃষ্ঠা থেকে অন্য একটি উদাহরণ প্রসারিত:
$array1 = array('one', 'two', 'foo' => 'bar');
$array2 = array('three', 'four', 'five', 'foo' => 'baz');
print_r($array1 + $array2);
print_r(array_replace($array2, $array1)); //note reversed argument order
আউটপুট:
Array
(
[0] => one // preserved from $array1
[1] => two // preserved from $array1
[foo] => bar // preserved from $array1
[2] => five // added from $array2
)
Array
(
[0] => one // preserved from $array1
[1] => two // preserved from $array1
[2] => five // added from $array2
[foo] => bar // preserved from $array1
)
+
চশমা দ্বারা গ্যারান্টিযুক্ত ক্রম কি ? কি হবে array_replace
?
- অ্যারে প্লাস অপারেশন সমস্ত অ্যারেকে অ্য্যাসোস অ্যারে হিসাবে বিবেচনা করে।
- প্লাস চলাকালীন কী বিরোধ থাকলে, বাম (পূর্ববর্তী) মান রাখা হবে
বিষয়গুলি পরিষ্কার করার জন্য আমি নীচের কোডটি পোস্ট করি।
$a + $b = array_plus($a, $b)
function array_plus($a, $b){
$results = array();
foreach($a as $k=>$v) if(!isset($results[$k]))$results[$k] = $v;
foreach($b as $k=>$v) if(!isset($results[$k]))$results[$k] = $v;
return $results;
}
$var1 = "example";
$var2 = "test";
$output = array_merge((array)$var1,(array)$var2);
print_r($output);
অ্যারে ([0] => উদাহরণ [1] => পরীক্ষা)
+=
এবং গ্রহণযোগ্য উত্তরটি ছিল+
। আমার পরীক্ষা থেকে তারা একই আচরণ করে বলে মনে হচ্ছে।