رفتن به مطلب
جستجو در
  • تنظیمات بیشتر ...
نمایش نتایجی که شامل ...
جستجو در ...

به سایت ما خوش آمدید

عضویت فقط چند ثانیه زمان می برد؛ منتظر شما هستیم!

کارن یوسفی

آموزش php فصل سوم

پست های پیشنهاد شده

جلسه بیست و ششم

 متغیرهای بولین (Boolean) در PHP

 

 

هر متغیر بولین (Boolean) در PHP ، می تواند دارای یکی از دو مقدار true یا false باشد. بسیاری از توابع تعریف شده در PHP ، یک مقدار بولین را برمی گردانند. همچنین زمانی که ما یک شرط را در PHP چک می کنیم، مقدار بازگشتی از عبارت نوشته شده برای شرط، یک مقدار بولین می باشد.

به مثال زیر توجه کنید :

<?php 
$a = true;
echo("a = ".$a);

echo("<br />");

$b = false;
echo("b = ".$b);
?>

نتیجه :

a = 1
b =

مشاهده می کنید که مقدار متغیر $a برابر 1 می باشد که همان معادل true است و مقدار متغیر $b برابر false است.

مثال 2 )

<?php 
$a = 5;
$b = 5;

echo($a == $b);
?>

نتیجه :

1

مشاهده می کنید که عبارت $a == $b ، مقدار 1 (یعنی true) را برگردانده است، زیرا دو متغیر، با هم برابر می باشند.

 

  • Thanks 1

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

جلسه بیست و هفتم

تعریف متغیرهای سراسری (global) در PHP

 

زمانی که در PHP ، یک تابع تعریف می کنیم، متغیرهای تعریف شده درون تابع، به صورت محلی (local) خواهند بود. منظور از محلی بودن متغیرها، این است که این متغیرها، تنها درون تابع وجود خواهند داشت و در بیرون از تابع، نمی توان از آنها استفاده نمود. برای درک بهتر این موضوع، به کدهای زیر توجه کنید :

<?php 
$my_variable = 1;

function my_function(){
    $my_variable = 2;
}

my_function();

echo $my_variable;
?>

ابتدا متغیر my_variable را برابر 1 تعریف کرده ایم. سپس یک تابع ساخته ایم و درون تابع ساخته شده، یک متغیر با همان نام my_variable تعریف کرده ایم که دارای مقدار 2 می باشد. سپس به تابع ارجاع داده ایم تا اجرا شود و در آخر نیز، مقدار متغیر my_variable را در خروجی چاپ می کنیم تا ببینیم برابر مقدار 1 است یا برابر مقدار 2 :

نتیجه :

1

 مشاهده می کنید که خروجی برابر 1 شده است. این نتیجه به این دلیل است که متغیر my_variable درون تابع، به صورت محلی (local) است، بنابراین در خارج از تابع، قابل استفاده نیست و بنابراین مقدار متغیر my_variable در خارج از تابع، همان طور که قبلا آن را تعریف کرده ایم، برابر 1 می باشد.

حال فرض کنید که بخواهیم مقدار یک متغیر را بتوانیم در داخل توابع نیز تغییر بدهیم، برای این منظور، باید آن متغیر را درون توابع، به صورت سراسری (global) تعریف کنیم. همان کد بالا را دوباره می نویسیم و این بار، متغیر my_variable را درون تابع، به صورت سراسری (global) تعریف می کنیم تا بتوانیم از درون تابع، مقدار متغیر را تغییر بدهیم :

<?php 
$my_variable = 1;

function my_function(){
    global $my_variable;
    $my_variable = 2;
}

my_function();

echo $my_variable;
?>

نتیجه :

2

مشاهده می کنید که این بار، مقدار متغیر my_variable ، برابر 2 شده است، بنابراین توانستیم مقدار آن را از درون تابع، تغییر بدهیم.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

جلسه بیست و هشتم

تعیین نوع یک متغیر با تابع gettype در PHP

 

 

تابع gettype در PHP برای تعیین نوع یک متغیر به کار می رود. تابع gettype ، یک متغیر را در ورودی خود دریافت می کند و سپس نوع آن متغیر را برمی گرداند.

به مثال 1 زیر توجه کنید :

<?php
$number=2;
echo(gettype($number));      
?>

نتیجه :

integer

مشاهده می کنید که نوع متغیر number که integer می باشد، در خروجی نمایش داده شده است.

 

مثال 2 )

<?php
$name="ALI";
echo(gettype($name));      
?>

نتیجه :

string

نوع متغیر name که string می باشد، در خروجی نمایش داده شده است.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

جلسه بیست و نهم

تغییر نوع یک متغیر با تابع settype در PHP

 

با استفاده از تابع settype در PHP می توانیم نوع یک متغیر را تغییر بدهیم. در PHP، متغیرها می توانند به صورت integer ، double ، string ، array یا object باشند. حال چنانچه یک متغیر خاص، از یکی از این انواع متغیرها باشد و ما بخواهیم نوع آن را تغییر بدهیم (مثلا از double به string تغییر بدهیم)، باید از دستور settype در PHP استفاده کنیم. به مثال زیر توجه کنید.

یک متغیر را با نام A و با مقدار 2 تعریف می کنیم، بنابراین نوع متغیر، integer می باشد. سپس با دستور settype ، نوع متغیر را به string تغییر می دهیم :

<?php
$A=2;

$A_type=gettype($A);
echo($A_type."<br />");

settype($A,"string");
$A_type_new=gettype($A);
echo($A_type_new);
?>

تابع gettype در PHP ، برای تعیین نوع متغیرها به کار می رود و در کدهای PHP بالا، از تابع gettype ، برای تعیین نوع متغیر A استفاده کرده ایم.

نتیجه :

integer
string

مشاهده می کنید که متغیر A ، ابتدا از نوع integer بوده و سپس به string تبدیل شده است.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

جلسه سی ام

توابع مربوط به تعیین نوع متغیرها (به صورت : آیا عضو این نوع متغیرها هست یا خیر) در PHP

 

 

قبلا گفتیم که با استفاده از تابع gettype در PHP می توان نوع یک متغیر را متوجه شد، اما گاهی نیاز داریم که با یک تابع، بفهمیم که آیا یک متغیر به یک نوع از متغیرها، تعلق دارد یا خیر. برای این موارد، دستورات زیر به کار می روند :

 

تابع نوع متغیری که چک می شود
is_array array
is_float یا is_real یا is_double float
is_bool boolean
is_integer یا is_int یا is_long integer
is_string string
is_object

object

هر یک از این دستورها، یک متغیر را دریافت می کنند، اگر متغیر عضو آن نوع (آن نوع متغیر) مشخص شده برای تابع باشد، آنگاه تابع، مقدار true را برمی گرداند و در غیر این صورت، تابع مقدار false را برمی گرداند.

به مثال زیر توجه کنید :

<?php
$float=1.2;
if(is_float($float)){
    echo($float." is a float");
}else{
    echo($float. " is not a float");
}
?>

نتیجه :

1.2 is a float

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

جلسه سی و یکم

تشخیص تعریف یا عدم تعریف (وجود یا عدم وجود) یک متغیر، با تابع isset در PHP

 

 

گاهی نیاز داریم که بدانیم که آیا یک متغیر (با نامی خاص)، قبلا تعریف شده است یا خیر (وجود متغیر یا NULL بودن آن). در اینگونه موارد، باید از تابع isset در PHP استفاده نماییم. همچنین دقت داشته باشید که با استفاده از تابع unset ، می توانیم یک متغیر را حذف کنیم (تبدیل به NULL).

تابع isset در PHP ، یک مقدار بولین (Boolean) را برمی گرداند (یعنی یا true یا false).

به مثال 1 زیر توجه کنید :

<?php 
$a = 2;

$b = isset($a);
echo("b = ".$b);

echo("<br />");

$c = isset($d);
echo("c = ".$c);
?>

نتیجه :

b = 1
c =

مشاهده می کنید که مقدار متغیر $b برابر 1 می باشد (یعنی برابر true)، زیرا متغیر $a تعریف شده است. همچنین مقدار متغیر $c برابر false می باشد، زیرا متغیری با نام $d تعریف نشده است.

 

مثال 2 )

<?php 
$a = 2;

unset($a);

$b = isset($a);
echo("b = ".$b);

echo("<br />");

echo($a);
?>

نتیجه :

b =

مشاهده می کنید که متغیر $b برابر false می باشد، زیرا با تابع unset ، متغیر $a را حذف کرده ایم. در آخر نیز عمدا سعی کرده ایم کدی را بنویسیم که تولید خطا می کند، یعنی خواسته ایم که مقدار متغیر $a در خروجی چاپ شود، ولی چون دیگر این متغیر وجود ندارد، PHP یک پیام خطا را نمایش داده است. بنابراین بعد از استفاده از تابع unset برای یک متغیر، دیگر آن متغیر وجود ندارد و نمی توانید از آن استفاده کنید.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

جلسه سی و دوم

نمایش نوع و مقدار یک متغیر (به صورت ساختاری)، با تابع var_dump در PHP

 

با استفاده از تابع var_dump در PHP ، می توانیم نوع و مقدار یک متغیر را نمایش بدهیم. اگر متغیر به صورت آرایه ای از عناصر مختلف باشد، آنگاه تابع var_dump ، به خوبی می تواند ساختار متغیر را به ما نشان بدهد، به گونه ای که هم مقادیر عناصر را مشاهده کنیم و هم نوع آن عناصر را متوجه بشویم. به مثال زیر توجه کنید :

<?php
$A = array(1, "dog", array(32, "cat"));
var_dump($A);
?>

نتیجه :

array(3) { [0]=> int(1) [1]=> string(3) "dog" [2]=> array(2) { [0]=> int(32) [1]=> string(3) "cat" } }

مشاهده می کنید که نوع و مقادیر عناصر آرایه و ساختار آن، به راحتی قابل تشخیص است.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

جلسه سی و سوم

افزایش میزان اطلاعاتی که تابع var_dump نمایش می دهد، در PHP

 

اگر دقت کرده باشید، هنگام نمایش محتوای ذخیره شده در یک متغیر، با استفاده از تابع var_dump، چنانچه میزان اطلاعات ذخیره شده در متغیر از یک حدی بیشتر باشد، آنگاه تابع var_dump تنها بخشی از اطلاعات آن را نمایش می دهد. برای افزایش این مقدار نمایش (حتی تا حدی که همه اطلاعات نمایش داده شوند)، باید مقادیر برخی پارامترها را در فایل php.ini تغییر بدهیم.

این پارامترها در فایل php.ini عبارتند از :

; with sane limits
xdebug.var_display_max_depth = 5
xdebug.var_display_max_children = 256
xdebug.var_display_max_data = 1024 


; with no limits
; (maximum nesting is 1023)
xdebug.var_display_max_depth = -1 
xdebug.var_display_max_children = -1
xdebug.var_display_max_data = -1

بعد از تغییر مقادیر این پارامترها، باید سرور restart شود تا شاهد اجرای تغییرات باشیم (یا اگر از نرم افزار شبیه ساز سرور مثل wampserver استفاده کردید، باید آن را بسته و دوباره اجرا کنید).

چنانچه قصد نداشته باشیم که به صورت دستی این مقادیر را تغییر بدهیم، می توانیم این تغییرات را با خود کدهای PHP در میان کدهای اصلی خود اعمال نماییم :

<?php
ini_set('xdebug.var_display_max_depth', 5);
ini_set('xdebug.var_display_max_children', 256);
ini_set('xdebug.var_display_max_data', 1024);
?>

برای نمایش میزان اطلاعات بیشتر، باید اعداد بزرگتری انتخاب کنیم.

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

جلسه سی و چهارم

تشخیص تمامی متغیرهای تعریف شده تاکنون، با تابع get_defined_vars در PHP

 

با استفاده از تابع get_defined_vars در PHP ، می توانیم تمامی تابع هایی که تاکنون تعریف کرده ایم را به صورت یک آرایه داشته باشیم (برای نمایش یا استفاده های دیگر). به مثال زیر توجه کنید :

<?php
$A = array(1,2,3);
$B = "hello";
$array_1 = get_defined_vars();
print_r($array_1["A"]);
?>

نتیجه :

Array ( [0] => 1 [1] => 2 [2] => 3 )

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

جلسه سی و پنجم

متغیرهای فوق سراسری (superglobal) در PHP

 

متغیرهای فوق سراسری (superglobal) در PHP ، متغیرهایی هستند که از پیش تعریف شده اند و همیشه در دسترس می باشند و شما درون هر کلاس (class) یا تابعی (function)، بدون انجام هیچ عملیات خاصی، می توانید به آنها دسترسی داشته باشید.

متغیرهای فوق سراسری (superglobal) تعریف شده در PHP را در لیست زیر نمایش داده ایم :

$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

جلسه سی و ششم

متغیر فوق سراسری $_REQUEST در PHP

 

متغیر $_REQUEST ، یک متغیر فوق سراسری (superglobal) است که حاوی محتویات سه متغیر فوق سراسری زیر می باشد :

$_GET
$_POST
$_COOKIE

بنابراین، مثلا فرض کنید که در یک صفحه PHP ، مقدار یک متغیر را بتوانیم از هر دو روش GET و POST به دست آوریم، آنگاه تنها کافی است که برای متغیر فوق سراسری $_REQUEST کد بنویسیم و نیازی به کدنویسی جداگانه برای متغیرهای فوق سراسری $_GET و $_POST نمی باشد.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
مهمان
این موضوع برای عدم ارسال قفل گردیده است.

×
×
  • اضافه کردن...