הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [PHP] שאלה לגבי array_walk (https://hosts.co.il/forums/showthread.php?t=57674)

Kfir.G 09-12-07 09:05

[PHP] שאלה לגבי array_walk
 
שלום,
דבר ראשון שרציתי לשאול זה בשביל מה בכלל קיימת הפונקציה array_walk? שכן היא בסה"כ עושה משהו בסגנון של foreach עם קריאה לפונקציה... (אחרי בדיקה שעשיתי הforeach יותר יעיל במקרה של הדפסת מערך)
בנוסף רציתי לשאול מה ההבדל בין array_walk ו array_walk_recursive?

תודה מראש :)

Meir 09-12-07 09:28

את רב הפונקציות אתה יכול לממש בקוד PHP לדוגמא strlen:

PHP קוד:

function my_strlen($string)
{
    for (
$i = 0; $string[$i]; $i++);
    return 
$i;
} 

או strpos:

PHP קוד:

function my_strpos($string, $to_find)
{
    for (
$i = 0; $string[$i] != $to_find; $i++);
    return 
$i;
} 

אבל הפונקציות המובנות שבPHP כתובות בשפת C ככה שקשה לי להאמין שבבדיקה רצינית הפונקציה שאתה תממש תהיה יותר טובה מהפונקציה שלהם.

array_walk_recursive - תעבור גם על מערך שהוא בתוך מערך:

PHP קוד:

<?php

function print_value($value) {
    echo 
$value;
}

$array = array('a', array('b', 'c'), 'd', 'e');

array_walk_recursive($array, 'print_value');

// print a, b, c, d, e

?>

לעומת array_walk:

PHP קוד:

<?php

function print_value($value) {
    echo 
$value;
}

$array = array('a', array('b', 'c'), 'd', 'e');

array_walk($array, 'print_value');

// print a, Array, d, e

?>


Kfir.G 09-12-07 12:05

אוקי, תודה מאיר :)
אפשר לנעול


כל הזמנים הם GMT +2. הזמן כעת הוא 07:39.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ