<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// This section is unrelated to the main article</span></span><span>
</span><span><span class="hljs-comment">// Example PHP file header only</span></span><span>
<p></span>//--------------------------------------------------</p>
<p>?></p>
<p><h1>Can is_array Be Used with array_map? How to Efficiently Handle Array Elements</h1></p>
<p><p>In PHP, <code>is_array<span>()
array_map() applies a callback function to each element of an array and returns a new array. This avoids writing verbose foreach loops.
<span class="hljs-class"><span class="hljs-keyword">class</span></span></span><span>="</span><span><span class="hljs-title">php</span></span><span>">
$</span><span><span class="hljs-title">numbers</span></span><span> = [1, 2, 3, 4];
$</span><span><span class="hljs-title">result</span></span><span> = </span><span><span class="hljs-title">array_map</span></span><span>(</span><span><span class="hljs-title">function</span></span><span>($</span><span><span class="hljs-title">n</span></span><span>) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$n</span></span><span> * </span><span><span class="hljs-number">2</span></span><span>;
}, </span><span><span class="hljs-variable">$numbers</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>); </span><span><span class="hljs-comment">// [2, 4, 6, 8]</span></span><span>
When a function might receive a non-array parameter, you can first use is_array() to check, then decide whether to call array_map().
<span class="hljs-class"><span class="hljs-keyword">class</span></span></span><span>="</span><span><span class="hljs-title">php</span></span><span>">
</span><span><span class="hljs-title">function</span></span><span> </span><span><span class="hljs-title">sanitizeInput</span></span><span>($</span><span><span class="hljs-title">data</span></span><span>) {
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_array</span></span><span>(</span><span><span class="hljs-variable">$data</span></span><span>)) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">array_map</span></span><span>(</span><span><span class="hljs-string">'trim'</span></span><span>, </span><span><span class="hljs-variable">$data</span></span><span>);
}
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">trim</span></span><span>(</span><span><span class="hljs-variable">$data</span></span><span>);
}
</span><span><span class="hljs-variable">$input1</span></span><span> = [</span><span><span class="hljs-string">" apple "</span></span><span>, </span><span><span class="hljs-string">" banana "</span></span><span>, </span><span><span class="hljs-string">" cherry "</span></span><span>];
</span><span><span class="hljs-variable">$input2</span></span><span> = </span><span><span class="hljs-string">" orange "</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-title function_ invoke__">sanitizeInput</span></span><span>(</span><span><span class="hljs-variable">$input1</span></span><span>));
</span><span><span class="hljs-comment">// ["apple", "banana", "cherry"]</span></span><span>
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-title function_ invoke__">sanitizeInput</span></span><span>(</span><span><span class="hljs-variable">$input2</span></span><span>));
</span><span><span class="hljs-comment">// "orange"</span></span><span>
In this example, if $data is an array, array_map() applies trim() to each element; if not, it directly applies trim(). This ensures the code works correctly for any input type.
Using is_array() with array_map() is not conflicting; instead, it enhances code robustness and flexibility. The former ensures the data structure is correct, while the latter efficiently processes array elements. Combining these functions in daily development results in safer and more elegant PHP code.
Related Tags:
array_map