آژانس هواپیمایی
pop up

آموزش Php - قسمت سوم - متغیرها

شروع موضوع توسط knowhow ‏8 فوریه 2004 در انجمن آموزش PHP به زبان فارسی

  1. knowhow

    knowhow مدیران قدیمی

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    3,480
    تشکر شده:
    19
    در این درس می خوانیم :

    - درباره متغیرها ( متغیر چیست و چگونه از آن استفاده کنیم)
    - چگونه یک متغیر را تعریف کنیم و به مقدار آن دسترسی پیدا کنیم
    - برخی از علمگرهای متداول
    - چگونگی تعریف و استفاده از مقادیر ثابت

    متغیر نگهدارنده ویژه ایست برای مقادیر. هر متغیر دارای یک نام است که با علامت $ در اول آن مشخص می شود. نام یک متغیر می تواند شامل حروف ، اعداد و _ باشد. نام یک متغیر نمی تواند شامل space و یا کارکاترهای غیر حرفی باشد.
    کدهای زیر چند متغیر را تعریف می کنید :
    کد:
    $a;
    $a_longish_variable_name;
    $2453;
    $sleepyZZZZ
    
    توجه داشته باشید که ; در انتهای هر خط جزونام متغیر می باشد و در واقع نشان دهنده پایان جمله کد PHP است.
    برای مقدار دادن به متغیر کافیست که آن را مساوی با مقدارش قرار دهید. به طور معمول شما در یک دستور php متغیر را تعریف می کنید و به آن مقدار می دهید. مانند کدهای زیر :
    کد:
    $num1 = 8;
    $num2 = 23;
    
    وقتی که شما به ییک متغیر مقدار دادید می توانید دقیقا مانند یک کاراکتر با آن رفتار کنید. به طور مثال :
    کد:
    print $num1;
    
    دقیقا برابر با دستور
    کد:
    print 8;
    
    می باشد.

    نوع داده داخل متغیر DATA TYPE

    انواع مختلف اطلاعات در یک متغیر می تواند ذخیره شود که در طول برنامه می توانید رفتارهای متفاوتی با آن نماببد.
    برخی زبانهای برنامه نویسی شما را وادار می کنند که در ابتدا و در موقع تعریف متغیر نوع آن را نیز مشخص نمایید.
    ولی در PHP لزومی به این کار نیست و نوع اولین مقداری که وارد متغیر شود ، به عنوان نوع متغیر شناخته می شود.

    Type - Example - Description
    Integer - 5 - A whole number
    Double - 3.234 - A floating-point number
    String - "hello" - A collection of characters
    Boolean - true - One of the special values true or false
    آرایه و OBJECT

    جدول فوق انواع داده ها را نشان می دهد.
    شما می توانید از دستور gettype() برای مشاهده نوع یک متغیر استفاده کنید. به عنوان مثال :
    کد:
    1: <html>
    2: <head>
    3: <title>Listing 4.3 Testing the type of a variable</title>
    4: </head>
    5: <body>
    6: <?php
    7: $testing = 5;
    8: print gettype( $testing ); // integer
    9: print "<br>";
    10: $testing = "five";
    11: print gettype( $testing ); // string
    12: print("<br>");
    13: $testing = 5.0;
    14: print gettype( $testing ); // double
    15: print("<br>");
    16: $testing = true;
    17: print gettype( $testing ); // boolean
    18: print "<br>";
    19: ?>
    20: </body>
    21: </html>
    
    کدهای بالا در خروجی جملات زیر را نشان خواهد داد :
    کد:
    integer
    string
    double
    boolean
    
    INTEGER یک عدد صحیح می باشد. به کلام ساده یک عدد بدون ممیز می باشد. STRING یک سری کاراکتر می باشد. وقتی در PHP با STRING کار می کنید باید حتما اطراف آن از " و یا ' استفاده شود. DOUBLE یک عددی است که ممیز نیز دارد. BOOLEAN یا TRUE است و یا FALSE.

    تغییر با استفاده از دستور settype()
    در PHP با استفاده از دستور settype() شما می توانید نوع یک متغیر را تغییر دهید. برای این کار باید نام متغیر و نوع متغیر که می خواهید به آن تغییر یابد را در بین پرانتز و با فاصله یک کاما در بینشان مشخص نمایید.
    به عنوان مثال :
    کد:
    1: <html>
    2: <head>
    3: <title>Listing 4.5 Changing the type of a variable with settype()</title>
    4: </head>
    5: <body>
    6: <?php
    7: $undecided = 3.14;
    8: print gettype( $undecided ); // double
    9: print " -- $undecided<br>"; // 3.14
    10: settype( $undecided, string );
    11: print gettype( $undecided ); // string
    12: print " -- $undecided<br>"; // 3.14
    13: settype( $undecided, integer );
    14: print gettype( $undecided ); // integer
    15: print " -- $undecided<br>"; // 3
    16: settype( $undecided, double );
    17: print gettype( $undecided ); // double
    18: print " -- $undecided<br>"; // 3.0
    19: settype( $undecided, boolean );
    20: print gettype( $undecided ); // boolean
    21: print " -- $undecided<br>"; // 1
    22: ?>
    23: </body>
    24: </html>
    
    در هر دفعه تغییر متغیر ما با استفاده از دستور GETTYPE() نوع متغیر را چاپ می کنیم که از تغییر آن مطمئن شویم.
    همانطور که می بینید در خط 7 مقدار متغیر 3.14 است و به صورت DOUBLE و در خط 10 به STRING تبدیل می شود و در خط 13 به INTEGER تغییر می کند و به 3 تبدیل می شود. (یعنی رند می شود) و به همین صورت......

    تغییر نوع داده بدون اینکه اصل متغیر تغییر کند

    با قرار دادن نام نوع داده Data Type در داخل پرانتز و قبل از نام متغیر یک کپی از متغیر با نوع داده جدید بدون تغییر دادن متغیر اصلی ایجاد می کند.
    به عنوان مثال :
    کد:
    1: <html>
    2: <head>
    3: <title>Listing 4.6 Casting a variable</title>
    4: </head>
    5: <body>
    6: <?php
    7: $undecided = 3.14;
    8: $holder = ( double ) $undecided;
    9: print gettype( $holder ) ; // double
    10: print " -- $holder<br>"; // 3.14
    11: $holder = ( string ) $undecided;
    12: print gettype( $holder ); // string
    13: print " -- $holder<br>"; // 3.14
    14: $holder = ( integer ) $undecided;
    15: print gettype( $holder ); // integer
    16: print " -- $holder<br>"; // 3
    17: $holder = ( double ) $undecided;
    18: print gettype( $holder ); // double
    19: print " -- $holder<br>"; // 3.14
    20: $holder = ( boolean ) $undecided;
    21: print gettype( $holder ); // boolean
    22: print " -- $holder<br>"; // 1
    23: ?>
    18: print gettype( $holder ); // double
    19: print " -- $holder<br>"; // 3.14
    20: $holder = ( boolean ) $undecided;
    21: print gettype( $holder ); // boolean
    22: print " -- $holder<br>"; // 1
    23: ?>
    
    در کد بالا هیچ وقت نوع متغیر اصلی را تغییر ندادیم بلکه مثلا در خط 14 در متغیر $holder مقدار Integer شده متغیر اصلی یعنی مقدار 3 را قرار دادیم در خط 16 آن را چاپ کردیم.

    عملگرها
    در این مورد فردا توضیح خواهم داد.
     
    fr_sdgh از این نوشته تشکر کرده است.
  2. thomson762

    thomson762 مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏19 اکتبر 2003
    نوشته ها:
    2,083
    تشکر شده:
    9
    بازم ممنون

    فقط اگر ممكنه وقتي تمامه درسها تمام شد بصورت PDF يه eBook ازاشون درست كنين تا كل مطالب تو يه جا سامون بگيره

    ممنون ميشم

    موفق باشين
     
  3. knowhow

    knowhow مدیران قدیمی

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    3,480
    تشکر شده:
    19
    چشم. اگه وقت شه که تموم بشه !!!
    خیلی سخته. از اونجایی که خیلی هم استقبال نشده ، آدم انگیزه اش از بین می ره !!
     
  4. ali

    ali کاربر تازه وارد

    تاریخ عضویت:
    ‏18 دسامبر 2002
    نوشته ها:
    1,101
    تشکر شده:
    11
    محل سکونت:
    tehran
  5. miladmovie

    miladmovie مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    1,936
    تشکر شده:
    2
    من هم استقبال! :)

    راستي من اين gettype رو بلد نبودم ممنون



    يك پيشنهاد ديگه اين طوري بخواهي تو فروم پست كني بعدا گم مي شه قبلا يك قسمت به نام آگاهي داشتيد چي شد؟
     
  6. knowhow

    knowhow مدیران قدیمی

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    3,480
    تشکر شده:
    19
    ممنون از استقبال .
    مي دونم كه اينجا گم مي شه.
    ولي اينها رو بعدا يك مقاله مي كنم مي گذارم يكجا براي دانلوود.
     
  7. boxilink
  8. ehsan

    ehsan Administrator

    تاریخ عضویت:
    ‏5 دسامبر 2002
    نوشته ها:
    7,915
    تشکر شده:
    3,507
    محل سکونت:
    Internet
  9. Persia

    Persia Registered User

    تاریخ عضویت:
    ‏2 نوامبر 2003
    نوشته ها:
    636
    تشکر شده:
    6
    شروع يادگيري Php توسط من مقارن شده با از سرگیری آموزش Php توسط آقای Knowhow.من این تقارن رو به فال نیک می گیرم و خیلی از مطالب استفاده می کنم. فقط اون جمله معروف رو می نویسم. "خیلی خوبه البته اگه ادامه داشته باشه".
    به هر حال دستتون درد نکنه.
     
  10. knowhow

    knowhow مدیران قدیمی

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    3,480
    تشکر شده:
    19
    چشم دوستان
    به زودي قسمت 4ام رو هم ميزارم.
     
  11. root

    root Registered User

    تاریخ عضویت:
    ‏29 آگوست 2003
    نوشته ها:
    154
    تشکر شده:
    2
    به چه دردي ميخوره كه نوع متغير رو تشخيص بديم ؟
     
  12. knowhow

    knowhow مدیران قدیمی

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    3,480
    تشکر شده:
    19
    والا من هم تا به حال به پستم نخورده ولي حتما به درد مي خوره ديگه !
     
  13. koorush

    koorush کاربر تازه وارد

    تاریخ عضویت:
    ‏3 مارس 2004
    نوشته ها:
    6
    تشکر شده:
    0
    صحبت خاصي ندارم، فقط خواستم استقبال كرده باشم.
     
  14. avajang.com .leftavajang.com.right
  15. amir

    amir مدیران قدیمی

    تاریخ عضویت:
    ‏15 دسامبر 2002
    نوشته ها:
    893
    تشکر شده:
    4
  16. shobeir

    shobeir کاربر تازه وارد

    تاریخ عضویت:
    ‏14 مارس 2003
    نوشته ها:
    28
    تشکر شده:
    1
    استقبال شد ! انشاا... Avatar امير بوست كنه !
     
  17. root

    root Registered User

    تاریخ عضویت:
    ‏29 آگوست 2003
    نوشته ها:
    154
    تشکر شده:
    2
    لو رفتي ! استقبال بهانه بود !
     
  18. aaber_piade

    aaber_piade Registered User

    تاریخ عضویت:
    ‏19 دسامبر 2002
    نوشته ها:
    1,662
    تشکر شده:
    28
    محل سکونت:
    Tehran
    من هم در مراسم استقبال شركت مي كنم :)
     
  19. knowhow

    knowhow مدیران قدیمی

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    3,480
    تشکر شده:
    19
    ولي وقتي نمونده برام ديگه !! :( بنابراين خواهش مي كنم كسي اگه بلده بياد ادامه بده.
     
  20. arash_kh

    arash_kh کاربر تازه وارد

    تاریخ عضویت:
    ‏15 ژوئن 2003
    نوشته ها:
    561
    تشکر شده:
    5
    آقا اين چي شد ؟ ادامه بده
     
  21. knowhow

    knowhow مدیران قدیمی

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    3,480
    تشکر شده:
    19
    آرش جان وقت نمي كنم به خدا.
    از بچه ها خواهش مي كنم يكي بياد ادامه بده .
     
  22. kasra_kh

    kasra_kh Registered User

    تاریخ عضویت:
    ‏23 آپریل 2004
    نوشته ها:
    528
    تشکر شده:
    3
    بنده هم ایضا استقبال