Array Functions
Array functions क्यों
PHP में दर्जनों built-in array functions हैं जो आम काम — sorting, searching, बदलना, जोड़ना — एक line में कर देते हैं, तो इनके लिए loops लिखने की ज़रूरत कम ही पड़ती है। सबसे उपयोगी कुछ सीखना आपका code छोटा और साफ़ बनाता है।
sort); दूसरे नया array लौटाते हैं (जैसे array_map)। जानिए कौन-सा क्या करता है।count, sort, reverse
<?php
$n = [3, 1, 2];
echo count($n); // 3
sort($n); // [1, 2, 3]
print_r($n);
$r = array_reverse($n); // [3, 2, 1]
?>
Array ( [0] => 1 [1] => 2 [2] => 3 )
count size देता है, sort values क्रम में लगाता है (array जगह पर बदलकर), और array_reverse उल्टी copy लौटाता है।
in_array और array_search
<?php
$fruits = ["apple", "mango", "banana"];
var_dump(in_array("mango", $fruits)); // true
echo array_search("banana", $fruits); // 2 (उसका index)
?>
2
in_array बताता है value मौजूद है या नहीं (true/false); array_search उसका key/index देता है, या न मिले तो false।
array_map
हर item पर function लगाइए और नया array पाइए।
<?php
$nums = [1, 2, 3];
$doubled = array_map(function($x) { return $x * 2; }, $nums);
print_r($doubled);
?>
हर number दोगुना हुआ। मूल $nums वही रहता है — map results का नया array लौटाता है।
array_filter
सिर्फ़ वे items रखिए जो test पास करें।
<?php
$nums = [1, 2, 3, 4, 5, 6];
$even = array_filter($nums, function($x) { return $x % 2 == 0; });
print_r($even);
?>
सिर्फ़ even numbers बचे। ध्यान दीजिए keys मूल से रहती हैं — 0 से दोबारा number चाहिए तो array_values() इस्तेमाल कीजिए।
array_merge और array_keys
<?php
$a = ["x" => 1, "y" => 2];
$b = ["y" => 9, "z" => 3];
print_r(array_merge($a, $b)); // y 9 बन जाता है
print_r(array_keys($a)); // ["x", "y"]
?>
Array ( [0] => x [1] => y )
array_merge arrays जोड़ता है (बाद की string keys पहले वाली को overwrite करती हैं); array_keys सारी keys लौटाता है।
आम गलतियाँ
- sort से value लौटने की उम्मीद।
sort()array जगह पर बदलता है और true/false लौटाता है, sorted array नहीं। - filter मूल keys रखता है यह भूलना। ज़रूरत हो तो दोबारा number करने को
array_values()। - in_array को loose match से जाँचना। strict (type-aware) जाँच को तीसरे argument में
trueदीजिए। - array_map मूल बदलता है यह मानना। यह नया array लौटाता है; मूल अछूता रहता है।
सारांश
- size और क्रम को
count,sort,array_reverse। - values ढूँढने को
in_arrayऔरarray_search। array_mapहर item को नए array में बदलता है।array_filtertest पास करने वाले items रखता है।array_mergearrays जोड़ता है;array_keyskeys देता है।
आगे, बुनियाद दोहराइए PHP arrays में, या उन पर loop कीजिए PHP loops से।
अक्सर पूछे जाने वाले प्रश्न (FAQ)
PHP में array_map क्या करता है?
array_map array के हर item पर एक function लगाता है और results का नया array लौटाता है। जैसे हर number दोगुना करना या हर string trim करना। मूल array नहीं बदलता।array_map और array_filter में क्या अंतर है?
array_map हर item बदलता है और गिनती वही रखता है। array_filter सिर्फ़ उन items को रखता है जो test पास करें और कम items लौटा सकता है। Map values बदलता है; filter values चुनता है।PHP में array कैसे sort करें?
sort(), घटते को rsort(), और associative arrays को value या key से sort करने को asort()/ksort()। ज़्यादातर sort functions array को जगह पर ही बदलते हैं।Array में value मौजूद है या नहीं कैसे जाँचें?
in_array("x", $arr) इस्तेमाल कीजिए जो true या false देता है, या array_search("x", $arr) जो value का key/index देता है (या न मिले तो false)।क्या array_merge keys रखता है?
array_merge 0 से दोबारा index करता है। String keys के लिए, एक ही key वाली बाद की values पहले वाली को overwrite करती हैं। यह जानना arrays जोड़ते समय surprises बचाता है।