صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از شماره 1 تا 10 , از مجموع 11

موضوع: آرایه ها در php

  1. #1
    عضو دائم Rezash آواتار ها
    تاریخ عضویت
    Feb 2010
    محل سکونت
    مشهد
    نوشته ها
    1,923
    تشکر تشکر کرده 
    889
    تشکر تشکر شده 
    2,385
    تشکر شده در
    1,535 پست

    Post آرایه ها در php

    سلام،
    خسته نباشيد
    آرايه نوع دادهاي خاص است که مي توان آن را به يک ظرف از مقادير تشبيه کرد.
    آرايه مي توند مجموعه اي از اعداد،رشته ها،مولفه ها،اشاره گرها و حتي آرايه ديگري باشد.برخلاف برخي ديگر از زبان هاي برنامه نويسي مقادير آرايه ها مي توند به صورت مختلط باشد.به طور مثال يک آرايه مي تواند به طور همزمان اعداد،رشته و مولفه ها را ذخيره کنيد.
    به هر يک از عضو هاي يک آرايه يک عنصر از آن آرايه مي گويند.
    آرايه چند بعدي:
    هنگامي که عنصر يک آرايه خود يک آرايه باشد به آن آرايه آرايه چند بعدي مي گويند.
    کليدها:
    کليدها را مي تون به نام متغيير ها تشبيه کرد که از طريق آنها مي توان مقادير مربوطه دسترسي پيدا کرد.
    اگه نوع کليد رشته باشد به آن آرايه آرايه انجمني مي گويند.
    تغغير پذيري:
    برخلاف زبان هايي مانند جاوا و ++C در زبان PHP نيازي به مشخص کردن تعداد عناصر آرايه نمي باشد و آرايه ها مي توانند بر اساس نياز بزرگ يا کوچک شوند.به اين خاصيت تغيير پذيري آرايه مي گويند.

    يکي ديگر از ويژگي هاي آرايه هاي PHP عدم نياز به تعريف نوع داده مي باشد.در واقع اين خاصيت موجب افزايش انعطاف پذيري آرايه ها شده است.
    براي ايجاد آرايه از تابع array استفاده مي شود.
    براي اين منظور به صورت زير عمل مي کنيم:
    کد:
    $rsh = array('islamic','republic','of','Iran');
    ت
    وضيحات:
    rsh متغيري اختياري است.
    islamic و republic و of و Iran چهار عنصر دلخواه هستند که مي توان تعداد آنها را تغيير داد.
    کليدهاي آرايه چون تعريف نشده اند به طور پيشفرض عدد مي باشند.
    --
    براي دستيابي به مقادير آرايه به صورت زير عمل مي کنيم:
    کد:
    $rsh[0];
    براي واضح بودن مثال:
    کد:
    echo $rsh[0];
    که خروجي اين مثال با توجه به عناصر موجود islamic خواهد بود.
    براي افزودن يک عنصر جديد به صورت زير عمل مي کنيم:
    کد:
    $rsh[4]= 'Dot';
    كه Dot مقدار دلخواه ما مي باشد.
    براي نمايش تمامي مقادير يک آرايه از print_r استفاده مي کنيم:
    کد:
    print_r($rsh);
    ايجاد آرايه هاي انجمني:
    همانطور که توضيح داده شد آرايه هاي انجمني داراي کليدهايي از نوع رشته هستند.در واقع مزيت آرايه هاي انجمني ايجاد يک ارتباط معنايي بين کليد و عناصر مي باشد.
    مثلا:
    کد:
    $rsh= array('name'=>'reza','gener'=>'male');
    echo $rsh['name'];
    echo $rsh['gener'];
    براي شمارش تعداد عاصر يک آرايه از count استفاده مي کنيم.
    کد:
    echo  count($rsh);
    براي دستايابي به تمام عناصر آرايه ها مي توان از حلقه هاي تکرار استفاده کرد:
    کد:
    <?php
    $rsh = array('islamic','republic','of','Iran');
    $counts = count($rsh);
    for($i=0;$i<$counts;$i++){
    echo "$rsh[$i] ";
    }
    ?>
    و اگر آرايه ما از نوع آرايه هاي انجمني باشه بايد از foreach استفاده کنيم:
    کد:
    <?php
    $rsh= array('name'=>'reza','gener'=>'Male','Mina'=>'Female','Mohammad'=>'Male');
    foreach ($rsh as $Key => $value)
    {
    echo "The value of $Key is : $value"; 
    }
    ?>
    آرايه هاي چند بعدي:
    همونطور که گفتم اگه اگر عناصر يک آرايه خود آرايه باشند به آن آرايه، آرايه چند بعدي مي گويند.
    مثال:
    کد:
    <?php
    $rsh= array();
    $rsh[0] = array('CMS'=>'reza','PHP'=>'SH');
    $rsh[1] = array('URL'=>'http://webhostingtalk.ir','Title'=>'.: | webhostingtalk|:.');
    $url = $rsh[1]['URL'];
    $title = $rsh[1]['Title'];
    echo 'Find nice articles on <a href='.$url.'>'.$title.'</a>';
    ?>
    که فکر نکنم نياز به توضيح نداشته باشه.
    تغيير مولفه هاي جاري:
    با استفاده از توابع current,next,prev,reset,end مي توان در آرايه حر کت کرد.
    reset : اين تابع اشاره گر را به اولين عنصر آرايه مي برد و مقداري را برنمي گرداند.
    next : اين تابع اشاره گر را به عنصر بعدي مي برد و در صورت وجود مقدار آن را برمي گرداند در غير اين صورت false بر گردانده مي شود.
    prev : اين تابع هم که عکس next عمل مي کند.
    current : اين تابع عنصر جاري را بر مي گرداند.
    end : اين تابع به آخرين عنصر موجود اشاره مي کند.
    مثال:
    کد:
    <?php
    // Even nums up to 20
    $even_num = array('2','4','6','8','10','12','14','16','18','20');
    reset($even_num);
    //echo prev($even_num).'<br>';
    echo next($even_num).'<br>';
    echo next($even_num) .'<br>';
    echo prev($even_num) .'<br>';
    reset($even_num);
    echo end($even_num);
    ?>
    آرايه ها مبحث طولاني و البته پر كاربرد و شيريني هستند!حتي يك تابع كاربردي در آرايه ها كه من چند ماه پيش بهش برخوردم باعث شد برنامه هاي من در هر صفحه 10-20 خط كمتر شوند!! من سعي مي كنم در صورت علاقه مندي تاپيك رو ادامه بدم چون واقعا آرايه گسترده هستند و توابع زيادي براي كار باهاشون هست.
    پ.ن : اين مطلب رو قبلا در انجمن ديگري ارسال كرده بودم.و الان براي آماده سازي كاربراني كه علاقه مندي به يادگيري php دارند و در راستاي تاپيك آموزش ساخت سيستم وبلاگ دهي دارم مقدمه چيني مي كنم!
    موفق باشيد
    بک آپ بگیرید قبل از آنکه پشیمان شوید!
    تشخیص سیستم مدیریت محتوای سایت - سایت شخصی

  2. تعداد تشکر ها ازRezash به دلیل پست مفید


  3. # ADS




     

  4. #2
    عضو دائم Rezash آواتار ها
    تاریخ عضویت
    Feb 2010
    محل سکونت
    مشهد
    نوشته ها
    1,923
    تشکر تشکر کرده 
    889
    تشکر تشکر شده 
    2,385
    تشکر شده در
    1,535 پست

    پیش فرض پاسخ : آرایه ها در php

    در ادامه ميخوام با يك تابع فوق العاده ارزشمند در آرايه شروع كنم.
    اين تابع در كد نويسي يكي از شيووه هاي متداول من شده و خيلي برام كارايي داشته.
    فرض كنيد در فرم ورودي تون 10 الي 20 فيلد داشته باشيد و همه مقادير ارسال با توجه به اينكه با از نظر وجود كاراكتر هاي مخرب (يا ناسازگار يا هر اسمي!) بررسي بشند تا جلوي برخي روش هاي متداول نفوذ مانند sql_injection و ... گرفته بشه.
    كد زير رو ببنيد:
    کد:
    $name = safe($_POST['name']);
    $family= safe($_POST['family']);
    $test= safe($_POST['test']);
    $php= safe($_POST['php']);
    $net= safe($_POST['net']);
    $wht= safe($_POST['wht']);
    $user= safe($_POST['user']);
    $pass= safe($_POST['pass']);
    در اينجا تابع safe يك تابع user defined هست يعني خودم براي خودم تعريف كردم . مثلا ميتونه به اين صورت باشه:
    کد:
    function safe($value,$type='0'){
    $value = mysql_real_escape_string( $value );
    $value = stripslashes( trim($value) );
    	$value = htmlspecialchars($value);
    return $value;
    }
    ديديد كه براي تك تك متغير ها مجبور شدم،يك تابع رو به كار ببندم و كلي دردسر ، و تازه چون نميخواستم توضيح طولاني بشه يك تابع هم (safe) به كار بردم وگرنه بايد براي هر كدوم از متغير ها 3 الي 4 خط كد مي نوشتم.
    همونطور كه مي دونيم متدهاي POST و GET آرايه هستند.بنابراين ما با توابع مفيد آرايه هاي مي تونيم روشون جولان بديم!
    بريم سر وقت اصل مطلب:
    تابع array_walk
    اين تابه 2 ورودي داره.اولي نام آرايه و دومي نام تابع.
    ساختار :
    کد:
     bool array_walk  (  array &$array  ,  callback $funcname  [,  mixed $userdata  ] )
    نقل قول از manula php.net
    Applies the user-defined function funcname to each element of the array array.

    array_walk() is not affected by the internal array pointer of array. array_walk() will walk through the entire array regardless of pointer position.
    در واقع اين تابع همونطور كه از اسمش پيداست روي ْآرايه ما قدم ميزنه ! و كليد و مقدار هر عنصر آرايه رو از يك تابع شخصي ميگذرونه و نتيجه رو جايگزينش مي كنه.
    و اما استفاده اي كه من از اين تابع كردم:
    کد:
    function safemini(&$value,$key){
     $value = safe($value);
     return $value;
    }
    array_walk($_POST,'safemini');
    تابع safemini كه در برنامه خودم بود رو كمي ساده تر كردم،در واقع اين باز نوعي خلاقيت در كد نويسي محسوب ميشه كه چرا تابع جديدي ايجاد شده...مثلا گاهي لازم هست در بعضي فرم هامون مقادير html هم بپذيريم از كاربر پس ، تو اين تابع جديد ميشه يك شرط بذاريم اگه مقدار key فلان بود يا فلان چيزو توش داشت ديگه كاريش نداشته باش يا يك طور ديگه باهاش رفتار بشه و ...
    استفاده ديگه اي كه از اين تابع داشتم در صفحات ajax بود!اگر با ajax كار كرده باشيد حتما ميدونيد موقع ارسال مقادير اگه فرم شامل برخي كاراكتر هاي خاص باشه js خطا ميده ! چون ساختارش بهم ميريزه و حقم داره ! پس توي js ما مقادير رو خنصي مي كنيم و مثلا + رو با يك مجمموعه كاراكتر دلخواه جايگزين مي كنيم.و بعد مي فرستيم . مثلا من + رو با **rsh** جايگزين مي كنم و بعد سمت php مجددا **rsh** رو با + عوض مي كنم.اين كار هم بايد براي تك تك مقادير ارسالي در صفحات ajax رعايت بشه پس با هيمن روش خيلي از حجم كد كاسته ميشه...
    ادامه دارد!

    ---------- Post added at 09:20 PM ---------- Previous post was at 09:01 PM ----------

    extract
    php 4 , 5
    int extract ( array $var_array [, int $extract_type = EXTR_OVERWRITE [, string $prefix ]] )

    نقل قول از manual
    Import variables from an array into the current symbol table.

    Checks each key to see whether it has a valid variable name. It also checks for collisions with existing variables in the symbol table.
    اين تابع يك آرايه رو ميشكنه و هر كليد رو به يك متغير تبديل مي كنه كه حاوي مقداري معادلش هست.
    خب ميشه تو پست قبلي كه گفتم روي ْآرايه POST و GET اين تابع رو به كار بگيريم و باز كدمون رو خلاصه تر كنيم!
    البته همونطور كه ميدونيد يك سري محدوديت هايي در نام گذاري متغير ها هست (قوانين نام گذاري) كه بايد رعايت بشه،و اين تابع خودش چك مي كنه كه آيا كليد اين شرايط رو داره يا نه . از خصوصيت ويژه اين تابع همين هست و ورودي هاي 2 و 3 اختياري هستند كه در صورتي كه كليدي كه قرار هست متغير باشه اگر هم نام متغير باشه يا شرايط انتخاب به عنوان يك متغير رو نداشته باشه چطور باهاش رفتار بشه!
    مثلا متغير قبلي پاك بشه و جديده جايگزين بشه،قبليه مقدم باشه،متغير جديد با يك پيشوند ساخته بشه يا ... كه اگه كسي در اين مورد علاقه به اطلاعات بيشتر داشت manual اطلاعات و مثال هاي جامعي داره:
    PHP: extract - Manual
    سپاس
    بک آپ بگیرید قبل از آنکه پشیمان شوید!
    تشخیص سیستم مدیریت محتوای سایت - سایت شخصی

  5. تعداد تشکر ها ازRezash به دلیل پست مفید


  6. #3
    عضو دائم Rezash آواتار ها
    تاریخ عضویت
    Feb 2010
    محل سکونت
    مشهد
    نوشته ها
    1,923
    تشکر تشکر کرده 
    889
    تشکر تشکر شده 
    2,385
    تشکر شده در
    1,535 پست

    Post پاسخ : آرایه ها در php

    خلاصه وار و با مثال ادامه ميدم
    تابع unset :
    حذف يك element يا كل آرايه:
    مثال
    کد:
    <?php
    $test = array('site'=>'wht','lang'=>'php','music'=>'light');
    //حذف فقط يك المان
    unset($test['music']);
    //حذف كل آرايه
    unset($test);
    ?>
    تابع array_keys:
    اين تابع يك آرايه رو ميگيره و يك آرايه جديد رو كه شامل اسم كليدهاي آرايه داده شده هست رو بر مي گردونه.
    به مثال توجه كنيد:
    کد:
    <?php
    $test = array('site'=>'wht','lang'=>'php','music'=>'light');
    print_r(array_keys($test));
    ?>
    //خروجي
    Array
    (
    [0] =>  site
    [1] =>  lang
    [1] =>  music
    )
    تابع array_keys:
    شمابه تابع array_keys هست با اين تفاوت كه مقادير رو بر مي گردونه نه كليدها.
    کد:
    <?php
    $test = array('site'=>'wht','lang'=>'php','music'=>'light');
    print_r(array_values($test));
    ?>
    //خروجي
    Array
    (
    [0] =>  wht
    [1] =>  php
    [1] =>  light
    )
    بقيه توابع از جملع توابع sort و حذف و جستجو و برش رو با مثال هاي كاربردي مانند صفحه بندي اطلاعات فردا ميذارم(الان خوابم مياد! )
    بک آپ بگیرید قبل از آنکه پشیمان شوید!
    تشخیص سیستم مدیریت محتوای سایت - سایت شخصی

  7. تعداد تشکر ها ازRezash به دلیل پست مفید


  8. #4
    عضو دائم Rezash آواتار ها
    تاریخ عضویت
    Feb 2010
    محل سکونت
    مشهد
    نوشته ها
    1,923
    تشکر تشکر کرده 
    889
    تشکر تشکر شده 
    2,385
    تشکر شده در
    1,535 پست

    پیش فرض پاسخ : آرایه ها در php

    تابع array_unique:
    اين تابع آرايه ورودي رو بررسي و مقادير يك سان رو حذف مي كنه!
    مثال
    کد:
    <?php
    $arr = array('reza','blog','wht','php','rightclick','php','blog');
    $arr = array_unique($data);
    print_r($arr);
    ?>
    خروجي
    Array ( [0] => reza [1] => blog [2] => wht [3] => php [4] => rightclick )
    اطلاعات بيشتر در مورد پارامترهاي اختياري و مثال هاي متنوع تر
    PHP: array_unique - Manual
    تابع array_slice:
    اين تابع يك آرايه رو مي گيره و در جواب آرايه اي جديد رو بر مي گردونه با اين تفاوت كه آرايه جديد قسمت دلخواهي از آرايه ما هست
    اين تابع از همون توابع مورد علاقه خودم هست و جاي صحبت زياد داره و هر وقت فرصت كنم مثال هاي جالب و كاربردي رو ازش مي زنم
    فعلا فقط در حد آشنايي اوليه توابع رو مي گم تا بشه تو پست هاي آتي ازشون رسما استفاده كرد!
    کد:
    <?php
    $arr = array("wht", "webhostingtalk", "php", "learn", "nice", "Its perfect!");
    $arr = array_slice($arr, 2, 3);
    print_r($arr);
    ?>
    
    Array ( [0] => php [1] => learn [2] => nice )
    توضيحات تكميلي :
    ورودي اول : نام آرايه
    دوم : نقطه شروع برش،اگر مثبت باشه از اول شروع ميشه و اگر منفي باشه از آخر.دقت كنيد كه در مثال بالا من از 2 شروع كردم
    يعني از عنصر سوم(با احتساب0) يعني همون php و گفتم به اندازه 3 عنصر از نقطه شروع به بعد جدا كن (ورودي سوم)
    ساختار
    کد:
     array array_slice  (  array $array  ,  int $offset  [,  int $length  [,  bool $preserve_keys = false  ]] )
    اطلاعات تكميلي:
    PHP: array_slice - Manual
    بک آپ بگیرید قبل از آنکه پشیمان شوید!
    تشخیص سیستم مدیریت محتوای سایت - سایت شخصی

  9. تعداد تشکر ها ازRezash به دلیل پست مفید


  10. #5
    عضو دائم Rezash آواتار ها
    تاریخ عضویت
    Feb 2010
    محل سکونت
    مشهد
    نوشته ها
    1,923
    تشکر تشکر کرده 
    889
    تشکر تشکر شده 
    2,385
    تشکر شده در
    1,535 پست

    Post array_map

    تابع array_map
    ساختار :
    array array_map ( callback $callback , array $arr1 [, array $... ] )
    توضيح از Manual :
    array_map() returns an array containing all the elements of arr1 after applying the callback function to each one. The number of parameters that the callback function accepts should match the number of arrays passed to the array_map()
    اين تابع دو ورودي داره ، اولي اسم يك تابع و دومي يك آرايه
    اين تابع شبيه همون array_walk هست تقريبا
    خروجي اين تابع همون آرايه ورودي هست با اين تفاوت كه تابعي رو كه به عنوان ورودي اول وارد كرديم ، روي عناصرش تاثير گذاشته.
    مثال 1 :
    کد PHP:
    <?php
    function cube($n)
    {
        return(
    $n $n $n);
    }

    $a = array(12345);
    $b array_map("cube"$a);
    print_r($b);
    ?>
    کد:
    Array
    (
        [0] => 1
        [1] => 8
        [2] => 27
        [3] => 64
        [4] => 125
    )
    در مثال بالا تابع cube كارش اينه كه يك عدد ميگيره و به توان 3 ميرسونه (3 بار در خودش ضرب مي كنه)
    حالا ما يك آرايه داريم و ميخوايم تك تك عناصرش رو به توان 3 برسونيم.درسته كه با foreach يا for يا روش هاي ديگه ميتونيم اين عمل رو انجام بديم ، اما خيلي ساده مي بينيم در خط 8 اين عمل يك باره انجام شده
    مثال هاي بعدي رو توضيح نمي دم ، خودتون خروجي ها رو مقايسه كنيد:
    کد PHP:
    <?php
    $func 
    = function($value) {
        return 
    $value 2;
    };

    print_r(array_map($funcrange(15)));
    ?>
    کد:
    Array
    (
        [0] => 2
        [1] => 4
        [2] => 6
        [3] => 8
        [4] => 10
    )
    توجه : تابع range رو در ادامه توضيح مي دم.
    مثال 3 :
    کد PHP:
    <?php
    function show_Spanish($n$m)
    {
        return(
    "The number $n is called $m in Spanish");
    }

    function 
    map_Spanish($n$m)
    {
        return(array(
    $n => $m));
    }

    $a = array(12345);
    $b = array("uno""dos""tres""cuatro""cinco");

    $c array_map("show_Spanish"$a$b);
    print_r($c);

    $d array_map("map_Spanish"$a $b);
    print_r($d);
    ?>
    کد:
    // printout of $c
    Array
    (
        [0] => The number 1 is called uno in Spanish
        [1] => The number 2 is called dos in Spanish
        [2] => The number 3 is called tres in Spanish
        [3] => The number 4 is called cuatro in Spanish
        [4] => The number 5 is called cinco in Spanish
    )
    
    // printout of $d
    Array
    (
        [0] => Array
            (
                [1] => uno
            )
    
        [1] => Array
            (
                [2] => dos
            )
    
        [2] => Array
            (
                [3] => tres
            )
    
        [3] => Array
            (
                [4] => cuatro
            )
    
        [4] => Array
            (
                [5] => cinco
            )
    
    )
    مثال 4 :
    کد PHP:
    <?php
    $a 
    = array(12345);
    $b = array("one""two""three""four""five");
    $c = array("uno""dos""tres""cuatro""cinco");

    $d array_map(null$a$b$c);
    print_r($d);
    ?>
    کد:
    Array
    (
        [0] => Array
            (
                [0] => 1
                [1] => one
                [2] => uno
            )
    
        [1] => Array
            (
                [0] => 2
                [1] => two
                [2] => dos
            )
    
        [2] => Array
            (
                [0] => 3
                [1] => three
                [2] => tres
            )
    
        [3] => Array
            (
                [0] => 4
                [1] => four
                [2] => cuatro
            )
    
        [4] => Array
            (
                [0] => 5
                [1] => five
                [2] => cinco
            )
    
    )
    مثال 5:
    کد PHP:
    <?php
    $arr 
    = array("stringkey" => "value");
    function 
    cb1($a) {
        return array (
    $a);
    }
    function 
    cb2($a$b) {
        return array (
    $a$b);
    }
    var_dump(array_map("cb1"$arr));
    var_dump(array_map("cb2"$arr$arr));
    var_dump(array_map(null,  $arr));
    var_dump(array_map(null$arr$arr));
    ?>
    کد:
    array(1) {
      ["stringkey"]=>
      array(1) {
        [0]=>
        string(5) "value"
      }
    }
    array(1) {
      [0]=>
      array(2) {
        [0]=>
        string(5) "value"
        [1]=>
        string(5) "value"
      }
    }
    array(1) {
      ["stringkey"]=>
      string(5) "value"
    }
    array(1) {
      [0]=>
      array(2) {
        [0]=>
        string(5) "value"
        [1]=>
        string(5) "value"
      }
    }
    تابع range:
    array range ( mixed $low , mixed $high [, number $step ] )
    اين تابع يك آرايه ايجاد مي كنه!آرايه اي كه شامل ارقام يا رشته هاي دلخواه ما در يك بازه(رنج) مشخص هست
    ورودي سوم تابع مرحله پيشرف هست.اگر مثبت باشه در هر مرحله به اون اندازه جلو ميريم واگر منفي يا وارد نشده باشه يا ... باشه 1 در نظر گرفته ميشه؛اين قضيه در مثال به وضوح ديده ميشه
    کد PHP:
    <?php
    // array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
    foreach (range(012) as $number) {
        echo 
    $number;
    }

    // The step parameter was introduced in 5.0.0
    // array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
    foreach (range(010010) as $number) {
        echo 
    $number;
    }

    // Use of character sequences introduced in 4.1.0
    // array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i');
    foreach (range('a''i') as $letter) {
        echo 
    $letter;
    }
    // array('c', 'b', 'a');
    foreach (range('c''a') as $letter) {
        echo 
    $letter;
    }
    ?>
    توجه : مثال ها و منبع مطلب Manual سايت رسمي مي باشد
    سپاس
    بک آپ بگیرید قبل از آنکه پشیمان شوید!
    تشخیص سیستم مدیریت محتوای سایت - سایت شخصی

  11. تعداد تشکر ها ازRezash به دلیل پست مفید


  12. #6
    عضو دائم Rezash آواتار ها
    تاریخ عضویت
    Feb 2010
    محل سکونت
    مشهد
    نوشته ها
    1,923
    تشکر تشکر کرده 
    889
    تشکر تشکر شده 
    2,385
    تشکر شده در
    1,535 پست

    پیش فرض پاسخ : آرایه ها در php

    list
    طبق توضيحات manual پي اچ پي ، list در يك تابع واقعي به حساب نمياد بلكه يك ساختار زياني هست
    با اين تابع مي تونيم در يك مرحله تعدادي متغير تعريف كنيم
    مثال ها از manual:
    کد PHP:
    <?php

    $info 
    = array('coffee''brown''caffeine');

    // Listing all the variables
    list($drink$color$power) = $info;
    echo 
    "$drink is $color and $power makes it special.\n";

    // Listing some of them
    list($drink, , $power) = $info;
    echo 
    "$drink has $power.\n";

    // Or let's skip to only the third one
    list( , , $power) = $info;
    echo 
    "I need $power!\n";

    // list() doesn't work with strings
    list($bar) = "abcde";
    var_dump($bar); // NULL
    ?>
    کد PHP:
    <table>
     <tr>
      <th>Employee name</th>
      <th>Salary</th>
     </tr>

    <?php

    $result 
    mysql_query("SELECT id, name, salary FROM employees"$conn);
    while (list(
    $id$name$salary) = mysql_fetch_row($result)) {
        echo 
    " <tr>\n" .
              
    "  <td><a href=\"info.php?id=$id\">$name</a></td>\n" .
              
    "  <td>$salary</td>\n" .
              
    " </tr>\n";
    }

    ?>

    </table>
    کد PHP:
    <?php

    list($a, list($b$c)) = array(1, array(23));

    var_dump($a$b$c);

    ?>
    کد:
    int(1)
    int(2)
    int(3)
    کد PHP:
    <?php

    $info 
    = array('coffee''brown''caffeine');

    list(
    $a[0], $a[1], $a[2]) = $info;

    var_dump($a);

    ?>
    کد:
    array(3) {
      [2]=>
      string(8) "caffeine"
      [1]=>
      string(5) "brown"
      [0]=>
      string(6) "coffee"
    }
    مثال ها تقربا واضح هستند ، اگر سوالي بود در خدمتم
    بک آپ بگیرید قبل از آنکه پشیمان شوید!
    تشخیص سیستم مدیریت محتوای سایت - سایت شخصی

  13. تعداد تشکر ها ازRezash به دلیل پست مفید


  14. #7
    عضو دائم Rezash آواتار ها
    تاریخ عضویت
    Feb 2010
    محل سکونت
    مشهد
    نوشته ها
    1,923
    تشکر تشکر کرده 
    889
    تشکر تشکر شده 
    2,385
    تشکر شده در
    1,535 پست

    Post پاسخ : آرایه ها در php

    تابع array_replace
    کد:
     array array_replace  ( array &$array  , array &$array1  [, array &$array2  [, array &$...  ]] )
    اين تابع مقادير آرايه اول رو با مقادير همسان توابع بعدي جايگزين مي كند.
    اگر كليدي كه در آرايه اول هست در آرايه دوم هم وجود داشته باشد مقدارش با مقدار مشابه در آرايه دوم جايگزين ميشود.
    اگر كليدي در آرايه دوم موجود باشد ولي در آرايه اول نباشد در آرايه اول آن كليد ايجاد ميشود.
    اگر كليدي فقط در آرايه اول وجود داشته باشد تغييري نمي كند.
    اگر آرايه هاي متعددي براي جايگزيني داشته باشيم به ترتيب مقادير جايگزين مي شوند و مقدار آرايه هاي بعدي با قبلي ها جايگزين مي شوند.
    return value

    در صورت بروز خطا : null
    در غير اينصورت : آرايه تغيير يافته
    مثال :
    کد PHP:
    <?php
    $base 
    = array("orange""banana""apple""raspberry");
    $replacements = array(=> "pineapple"=> "cherry");
    $replacements2 = array(=> "grape");

    $basket array_replace($base$replacements$replacements2);
    print_r($basket);
    ?>
    کد:
    Array
    (
        [0] => grape
        [1] => banana
        [2] => apple
        [3] => raspberry
        [4] => cherry
    )
    مثل هميشه منبع دست اول ! : PHP: array_replace - Manual
    من روي توابع خيلي توضيح نمي دم كه بتونم گريزي بر تمام توابع كاربردي داشته باشيم ، اگر كسي مشكلي در تابع خاصي داشت پ.خ بده بيشتر در تاپيك توضيح بدم.
    سپاس
    بک آپ بگیرید قبل از آنکه پشیمان شوید!
    تشخیص سیستم مدیریت محتوای سایت - سایت شخصی

  15. تعداد تشکر ها ازRezash به دلیل پست مفید


  16. #8
    عضو دائم Rezash آواتار ها
    تاریخ عضویت
    Feb 2010
    محل سکونت
    مشهد
    نوشته ها
    1,923
    تشکر تشکر کرده 
    889
    تشکر تشکر شده 
    2,385
    تشکر شده در
    1,535 پست

    پیش فرض پاسخ : آرایه ها در php

    array_rand
    تابع array_rand
    حتما تا به حال پيش اومده كه خواسته باشيم از بين عناصر يك آرايه يك يا بيش از يك عنصر رو به صورت رندوم انتخاب كنيم
    راه اول :
    1. به دست آوردن تعداد عناصر آرايه با تابعي مثل count
    2. استفاده از تابعي مثل rand و ايجاد چند عدد در بازه مورد نظر
    3. استفاده از ايندكس هاي بدست آمده
    اما راه حل ساده تر و بهتر !
    تابع array_rand
    اين تابع 2 وروردي داره
    اولي يك آرايه هست و اجباري
    دومي يك عدد هست و اختياري و اگر وارد نشه 1 در نظر گرفته ميشه
    آرايه اولي كه آرايه هست كه قرار هست از بينش چند عنصر انتخاب كنيم
    و دومي تعداد عناصري هست كه قرار هست رندوم انتخاب بشند
    ‍« چه مقداري توسط اين تابع باز گردانده ميشود
    اگر پارامتر دوم تابع وارد نشود يا 1 باشد فقط كليد عنصري كه به صورت رندوم انتخاب شده است ولي در غير اينصورت آرايه اي شامل مجموعه عناصر رندوم انتخاب شده
    مثال :
    کد PHP:
    <?php
    $input 
    = array("Neo""Morpheus""Trinity""Cypher""Tank");
    $rand_keys array_rand($input2);
    echo 
    $input[$rand_keys[0]] . "\n";
    echo 
    $input[$rand_keys[1]] . "\n";
    ?>
    بک آپ بگیرید قبل از آنکه پشیمان شوید!
    تشخیص سیستم مدیریت محتوای سایت - سایت شخصی

  17. تعداد تشکر ها ازRezash به دلیل پست مفید


  18. #9
    عضو دائم Rezash آواتار ها
    تاریخ عضویت
    Feb 2010
    محل سکونت
    مشهد
    نوشته ها
    1,923
    تشکر تشکر کرده 
    889
    تشکر تشکر شده 
    2,385
    تشکر شده در
    1,535 پست

    پیش فرض پاسخ : آرایه ها در php

    بعد يك وقفه طولاني در آموزش تصميم گرفتم باز هم ساير توابع رو معرفي كنم!
    تابع array_push()
    اين تابع يك يا چند مقدار جديد رو به انتهاي آرايه ما اضافه مي كنه
    مثال:
    کد PHP:
    <?php
    $stack 
    = array("orange""banana");
    array_push($stack"apple""raspberry");
    print_r($stack);
    ?>
    خروجي :
    کد:
    Array
    (
        [0] => orange
        [1] => banana
        [2] => apple
        [3] => raspberry
    )
    البته مي تونيم به صورت زير و بدون استفاده از اين تابع هم ، ايندكس هاي جديد رو به صورت يكي يكي اضافه كنيم:
    کد PHP:
    <?php
    $stack 
    = array("orange""banana");
    $stack[] = "apple";
    $stack[] = "raspberry";
    print_r($stack);
    ?>
    خروجي :
    کد:
    Array
    (
        [0] => orange
        [1] => banana
        [2] => apple
        [3] => raspberry
    )
    تابع array_pop
    اين تابع آخرين عنصر آرايه رو حذف مي كنه و تغيير رو در خود آرايه اعمال مي كنه و نه متغيري كه به تابع نسب داده شده است.
    مثال :
    کد PHP:
    <?php
    $stack 
    = array("orange""banana""apple""raspberry");
    $fruit array_pop($stack);
    print_r($stack);
    echo 
    "<br> Fruit is : ".$fruit;
    ?>
    خروجي :
    کد:
    Array
    (
        [0] => orange
        [1] => banana
        [2] => apple
    )
     Fruit is :  raspberry
    توضيحات از php.net كه كاملا واضح هست

    array_pop() pops and returns the last value of the array, shortening the array by one element. If array is empty (or is not an array), NULL will be returned. Will additionally produce a Warning when called on a non-array.
    اطلاعات بيشتر در مورد دو تابع اخير:
    PHP: array_pop - Manual
    PHP: array_push - Manual
    بک آپ بگیرید قبل از آنکه پشیمان شوید!
    تشخیص سیستم مدیریت محتوای سایت - سایت شخصی

  19. تعداد تشکر ها ازRezash به دلیل پست مفید


  20. #10
    عضو دائم Rezash آواتار ها
    تاریخ عضویت
    Feb 2010
    محل سکونت
    مشهد
    نوشته ها
    1,923
    تشکر تشکر کرده 
    889
    تشکر تشکر شده 
    2,385
    تشکر شده در
    1,535 پست

    پیش فرض پاسخ : آرایه ها در php

    تابع array_unshift
    گاهي نياز داريم يك يا چند عنصر به اول آرايه خودمون اضافه كنيم. در اين صورت به جاي استفاده از روش هاي دستي و جابه جايي تك تك عناصر آرايه و استفاده از temp ميتونيم براحتي از تابع array_unshift استفاده كنيم.
    مثال :
    کد PHP:
    $queue = array("orange""banana");
     
    array_unshift($queue"apple""raspberry");
     
    print_r($queue);
     
     
     
    /*
     Output
     Array
     (
         [0] => apple
         [1] => raspberry
         [2] => orange
         [3] => banana
     )
     */ 
    يكسري مثال خوب و توضيحات مختصر در ادرس :
    Useful PHP Functions To Work With Arrays
    ديدم كه مثال اين پست هم از همين جا بود، اگر كسي علاقه داشت مثال هاي جالبي داره.
    بک آپ بگیرید قبل از آنکه پشیمان شوید!
    تشخیص سیستم مدیریت محتوای سایت - سایت شخصی

صفحه 1 از 2 12 آخرینآخرین

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •