article

توابع کار با آرایه در PHP - بخش سوم

php-array-functions-3

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

تابع array_pop


تابع array_pop برای حذف یک کلید و مقدار آن از انتهای آرایه استفاده و سپس مقادیر حذف شده به عنوان خروجی برگردانده می شود، مثال:
<?php
$array = array(1, 2, 3, 4, 5);
$array_pop = array_pop($array);
print_r($array);
echo $array_pop;
?>
که نتیجه دستور print_r برابر خواهد بود با:
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)
و نتیجه دستور echo برابر خواهد بود با:
5
نکته: در صورتی که آرگومان تابع یک آرایه نباشد، یا آرایه هیچ عضوی نداشته باشد، مقادیر  NULL برگردانده می شود.

تابع array_product


تابع array_product مجموع حاصل ضرب مقادیر کلید های یک آرایه را برمی گرداند، خروجی می تواند به صورت یک عدد صحیح (integer) یا اعشاری (float) باشد، مثال:
<?php
$array = array(1, 2, 3, 4, 5);
$array_product = array_product($array);
echo $array_product;
?>
که نتیجه برابر 120 خواهد بود (1*2*3*4*5).
نکته: نتیجه product برای آرایه های خالی مقادیر 1 خواهد بود.

تابع array_push


تابع array_push برای اضافه کردن یک یا چند مقدار به انتهای آرایه استفاده می شود، حاصل این تابع آرایه ای جدید است که موارد مورد نظر به انتهای آن افزوده شده اند، مثال:
<?php
$array = array(1, 2, 3, 4, 5);
array_push($array, '6', '7');
print_r($array);
?>
خروجی مثال بالا برابر خواهد بود با:
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
    [6] => 7
)
نکته: در صورتی که آرگومان اول این تابع یک آرایه نباشد، خطایی از نوع E_WARNING دریافت خواهید کرد.

تابع array_rand


تابع array_rand برای پیدا کردن کلیدهای اتفاقی در یک آرایه استفاده می شوند، به طور مثال:
<?php
$array = array('HTML', 'CSS', 'JavaScript', 'PHP', 'MySQL');
$array_rand = array_rand($array, 2);
print_r($array_rand);
?>
خروجی مثال بالا به صورت اتفاقی برابر خواهد بود با:
Array
(
    [0] => 0
    [1] => 4
)
نکته: در صورتی که آرگومان دوم این تابع بیشتر از تعداد عناصر آرایه باشد، خطایی از نوع E_WARNING دریافت خواهید کرد.

تابع array_reduce


تابع array_reduce در یک دور تکرار، حاصل جمع تمام مقادیر یک آرایه را با استفاده از یک تابع برگشتی (callback function) بر می گرداند، در صورتی که آرگومان سوم این تابع تنظیم شده باشد، به عنوان آرگومان اول تابع برگشتی عمل می کند، مثال های زیر می توانند به درک نحوه عملکرد تابع array_reduce کمک کنند.
<?php
function CallBack($result, $item){
    $result += $item;
    return $result;
}
$array = array(1, 2, 3, 4, 5);
$a = array_reduce($array, "CallBack");
//1 + 2 + 3 + 4 + 5
echo $a;
?>
خروجی دستور echo برابر 15 خواهد بود.
مثالی دیگر:
<?php
function CallBack($result, $item){
    $result -= $item;
    return $result;
}
$array = array(1, 2, 3, 4, 5);
$a = array_reduce($array, "CallBack", 20);
//20 - (1 + 2 + 3 + 4 + 5)
echo $a;
?>
خروجی دستور echo برابر 5 خواهد بود.

تابع array_replace


تابع array_replace مقادیر آرایه اول (آرگومان اول) را با مقادیر مشابه آرایه یا آرایه های دیگر (آرگومان دوم، سوم و...) جایگزین می کند، اگر یک کلید در آرایه اول و دوم وجود داشته باشد، مقادیر آن در آرایه اول با مقادیر موجود در آرایه دوم جایگزین می شود، مثال زیر می تواند به درک نحوه کارکرد این تابع کمک کند.
<?php
$array_1 = array('HTML' => 3, 'JavaScript' => 5, 'PHP' => 2, 'AJAX' => 8, 'JAVA' => 4);
$array_2 = array('Python' => array(1, 3, 5), 'Ruby' => 6, 'MySQL' => array(7, 2, 0), 'JavaScript' => 9, 'JAVA' => 3);
$result = array_replace($array_1, $array_2);
print_r($result);
?>
خروجی مثال بالا به صورت زیر خواهد بود.
Array
(
    [HTML] => 3
    [JavaScript] => 9
    [PHP] => 2
    [AJAX] => 8
    [JAVA] => 3
    [Python] => Array
        (
            [0] => 1
            [1] => 3
            [2] => 5
        )

    [Ruby] => 6
    [MySQL] => Array
        (
            [0] => 7
            [1] => 2
            [2] => 0
        )

)
با دقت در مثال بالا متوجه می شویم که کلید JavaScript و JAVA با دومین مقدار مشترک به خروجی فرستاده شده.
نکته 1: تابع array_replace از نسخه PHP 5 >= 5.3.0 افزوده شده.
نکته 2: تابعی دیگری مشابه این تابع با نام array_replace_recursive وجود دارد که در برخی حالت ها، خروجی متفاوتی ایجاد می کند.

تابع array_reverse


تابع array_reverse برای تغییر چینش عناصر یک آرایه به صورت معکوس به کار می رود، در صورتی که آرگومان دوم این تابع (با مقادیر TRUE) تنظیم شود، چینش کلیدها نیز تغییر می کنند، مثال:
<?php
$array = array(1, 2, 3, 4, 5);
$result = array_reverse($array, true);
print_r($result);
?>
خروجی مثال بالا به صورت زیر خواهد بود.
Array
(
    [4] => 5
    [3] => 4
    [2] => 3
    [1] => 2
    [0] => 1
)

تابع array_search


تابع array_search برای به دست آوردن یک کلید از آرایه بر مبنای مقادیر متناظر آن به کار می رود، در واقع آرگومان در اینجا یک مقدار است که این تابع با جستجو در آرایه، کلید متناظر با آن را (در صورت پیدا شدن) برمی گرداند، مثال:
<?php
$array = array('HTML', 'PHP', 'MySQL');
$result = array_search('PHP', $array);
echo $result;
?>
که خروجی برابر 1 خواهد بود.
نکته: در صورتی که آرگومان سوم این تابع (با مقادیر TRUE) تنظیم شده باشد، جستجو به صورت strict یا سختگیرانه انجام شده که در این حالت مواردی مانند نوع داده ها (int, string و...) نیز باید کاملا یکسان باشد.

تابع array_shift


تابع array_shift برای حذف یک کلید و مقدار آن از ابتدای آرایه استفاده می شود، خروجی این تابع (مانند تابع array_pop) آرایه ای جدید است، مثال:
<?php
$array = array(1, 2, 3, 4, 5);
$array_shift = array_shift($array);
print_r($array);
echo $array_shift;
?>
که نتیجه دستور print_r برابر خواهد بود با:
Array
(
    [0] => 2
    [1] => 3
    [2] => 4
    [3] => 5
)
و نتیجه دستور echo برابر خواهد بود با:
1

تابع array_slice


تابع array_slice برای تجزیه یک آرایه و دریافت قسمت خاصی از آن به عنوان خروجی استفاده می شود، این تابع حداکثر تا چهار آرگومان به شرح زیر می پذیرد:
- array : آرگومان اول این تابع همان آرایه ای است که قصد برش قسمت خاصی از آن را داریم.
- offset : نقطه شروع برش را به صورت عددی مشخص می کند، در صورتی که این مقدار منفی باشد، نقطه برش از انتهای آرایه محاسبه می شود.
- length : طول برش را مشخص می کند، در صورتی که طول برش از عناصر موجود در آرایه بیشتر باشد، تنها عناصر موجود به خروجی ارسال می شوند.
- preserve_keys : اگر با مقادیر TRUE تنظیم شده باشد، شماره کلیدها در آرایه خروجی بدون تغییر و همان شماره کلید آرایه اصلی خواهد بود (در غیر این صورت شمارش از صفر شروع و به انتها ختم می شود).
مثال:
<?php
$array = array('a', 'b', 'c', 'd', 'e');
$array_slice = array_slice($array, 3);
print_r($array_slice);
$array_slice = array_slice($array, 3, 1);
print_r($array_slice);
$array_slice = array_slice($array, -3, 2);
print_r($array_slice);
?>
خروجی مثال بالا به صورت زیر خواهد بود:
Array
(
    [0] => d
    [1] => e
)
Array
(
    [0] => d
)
Array
(
    [0] => c
    [1] => d
)

تابع array_splice


تابع array_splice برای حذف قسمتی خاص از آرایه و جایگزینی آن با مقادیر جدید استفاده می شود، این تابع حداکثر می تواند چهار آرگومان به شرح زیر داشته باشد:
- array : آرگومان اول این تابع همان آرایه ای است که قصد حذف قسمت خاصی از آن را داریم.
- offset : نقطه شروع حذف را به صورت عددی مشخص می کند، در صورتی که این مقدار مثبت باشد، نقطه حذف از offset و ماقبل آن محاسبه و در صورتی که منفی باشد، نقطه حذف از انتهای آرایه و مابعد نقطه offset محاسبه می شود.
- length : این پارامتر در اینجا رفتاری متفاوت دارد، اگر با مقادیر مثبت تنظیم شود، به همان تعداد از عناصر بعد از offset حفظ و مابقی حذف می شوند (در صورتی که مقادیر offset بزرگتر یا مساوی length باشد، در حذف عناصر، الویت با offset است و length نادیده گرفته می شود)، اگر  با مقادیر منفی تنظیم شود، رفتار آن به انتهای آرایه معطوف می شود (برای درک بهتر می توانید چند مثال فرضی بنویسید و با print_r از آنها خروجی بگیرید).
- replacement : اگر این پارامتر تنظیم شود، مقادیر حذف شده با مقادیر جدید جایگزین می شوند، در صورتی که تنظیمات قسمت offset و length به گونه ای باشد که مقادیری از آرایه اصلی حذف نشود، در این حالت مقادیر جدید بر اساس offset به آرایه اصلی اضافه می شوند (کلیدها در این حالت preserve یا از پیش تعریف شده نیستند و لذا شمارش از صفر شروع و به انتها ختم می شود).
نکته: به نظر این تابع رفتار خیلی مشخص و یکسانی در تمام نسخه های PHP ندارد، لذا آشنایی در حد اولیه با آن کافی خواهد بود!
مثال:
<?php
$array = array('a', 'b', 'c', 'd', 'e');
$array_splice = array_splice($array, 3);
print_r($array_splice);
$array_splice = array_splice($array, 2, 1);
print_r($array_splice);
?>
خروجی:
Array
(
    [0] => d
    [1] => e
)
Array
(
    [0] => c
)

تابع array_sum


تابع array_sum برای محاسبه حاصل جمع مقادیر عددی یک آرایه کاربرد دارد، مثال:
<?php
$array = array(1, 4, 6);
$array_sum = array_sum($array);
echo $array_sum;
?>
که نتیجه برابر 11 خواهد بود.
این مبحث را در آموزش های بعدی همچنان ادامه خواهیم داد.
sectionدسته بندی: آموزش مقدماتی » PHP
related مطالب بیشتر:
» تعریف و استفاده از متغیر (Variable) در PHP
» آرایه (Array) در برنامه نویسی PHP
» توابع کار با آرایه در PHP - بخش اول
» آموزش برنامه نویسی وب با PHP
» دستورات شرطی (Conditional Statements) در PHP
commentنظرات (۲۳ یادداشت برای این مطلب ارسال شده است)
more یادداشت های جدید بر اساس تاریخ ارسال در انتهای یادداشت های موجود نمایش داده می شوند.
نویسنده: محدثه قاسمی
۲۲:۱۱ ۱۳۹۲/۰۹/۰۹
سلام. من توی دیتابیسم نام خانوادگی رو به صورت فارسی وارد کردم حالا می خوام اونا رو به صورت ترتیب حروف الفبای فارسی فراخوانی کنم و از کد زیر استفاده کردم
$res = mysql_query("select * from user where order by name asc");	
while($row = mysql_fetch_array($res)){
........
}
که name همون ستون محتوی نام خانوادگی هست . اما اطلاعات به ترتیب الفبا نشون داده نمی شه. مشکل کجاست؟

ممنون.
پاسخ: 
سلام
در درجه اول باید Server connection collation دیتابیس را
utf8_persian_ci
انتخاب کنید، سپس برای اینکه کاراکترها به صورت فارسی در دیتابیس ذخیره شوند مراحل زیر را انجام دهید:
- از متاتگ زیر در تمام صفحات استفاده کنید:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- علاوه بر دیتابیس، جداول و ستون ها را نیز با یونیکد
utf8_persian_ci
بسازید.
- پس از اتصال با دیتابیس، پرس و جوی زیر را هم اجرا کنید:
mysql_query ("SET NAMES 'utf8' ");
- اگر مشکل همچنان حل نشد، فایل های خود را با ویرایشگر ++Notepad باز کرده و سپس از قسمت Encoding گزینه Encoding UTF-8 without BOM را انتخاب و فایل خود را مجددا ذخیره نمائید.
به این صورت امکان sort با الفبای فارسی فراهم می شود.
نویسنده: محدثه قاسمی
۱۵:۱۴ ۱۳۹۲/۰۹/۱۲
ممنون.
نویسنده: محدثه قاسمی
۲۰:۰۳ ۱۳۹۲/۰۹/۱۲
سلام. مشکل حل شد. من الان دو تا ستون دارم یکی نام و دیگری نام خانوادگی.
الان اطلاعات بر اساس نام خانوادگی مرتب میشن و برای نام مشکل دارم.
مثلا:
اطلاعات در صفحه این طوری نمایش داده میشه:
حسین بهرامی
علی پروین
مهران عبدی
قاسم عبدی
علی یاسمی
همون طور که می بیند مهران و قاسم به ترتیب حروف الفبا سورت نشدن.
آیا راهی هست که بشه اونها رو هم سورت کنم. الان کد به صورت زیر هست:
$res = mysql_query("select * from user where order by family asc");	
while($row = mysql_fetch_array($res)){
........
}
پاسخ: 
سلام
می توانید از پرس و جوی نمونه زیر استفاده کنید:
SELECT * FROM user WHERE 1 ORDER BY name, family ASC
نویسنده: محدثه قاسمی
۲۱:۲۲ ۱۳۹۲/۰۹/۱۲
بسیار متشکرم. مشکل حل شد.
نویسنده: ابراهیم
۲۰:۵۵ ۱۳۹۲/۱۱/۰۳
ممنون خیلی خوب بود استفاده کردیم خدا خیرتون بده
نویسنده: علی
۱۲:۴۷ ۱۳۹۲/۱۱/۲۰
سلام خسته نباشید
یه راهنمایی بکنید ما رو ممنون میشم
تو بخش عضویت قسمت نام کاربری این دستورات نوشته شده
function IsName($name)
{
return preg_match("/^[a-z0-9]+$/i", $name);
for ($i = 0; $i<count($entities_match); $i++) {
if(strpos($name, $entities_match[$i])){
return false;
}
}
return true;
}
یه مشکلی که داره اینه که یکی اگه بخواد می تونه بیاد با یه حرف مثلا A یا B منظور تک حرفی عضو بشه من میخوام محدودش کنم که اگه کمتر از 5 حرف بود قبول نکنه
--------------
سوال دیگه هم اینکه تو این خط
return preg_match("/^[a-z0-9]+$/i", $name);
حروف و اعداد انگلیسی هستش واسه حروف الفبای فارسی باید به چه شکل باشه؟
---------
درخواست آخر اینکه یه بخش تو سایت راه اندازی کنید با عنوان پرسش و پاسخ که مجبور نباشیم تو مطالب دیگه سایت پرسش هامون رو مطرح کنیم
ممنون
پاسخ: 
در مورد سوال اول، می توانید از تابع strlen استفاده کنید:
if(strlen($name) < 5){
return false;
}
در مورد سوال دوم ظاهرا حالت زیر عمل می کند:
if(preg_match('/^[0-9آ-ی\s]+$/u', $str)){
echo 'Valid';
}
else{
echo 'Invalid';
}
به جای متغیر str باید متغیر name را قرار دهید.
در مورد در نظر گرفتن بخش پرسش و پاسخ، هدف سایت این است که آموزش ها با طرح سوالات کاربران کاملتر و احیانا اصلاح شوند، در صورتی که سوالات در چارچوب مطالب نمی گنجند می توانید از بخش تماس استفاده کنید.
نویسنده: علی
۰۰:۳۸ ۱۳۹۲/۱۱/۲۱
بعد این مساوی این عدد چه کاربردی داره؟
function PassGen($length = 8)
دستورات بالا رو هم به این شکل تغییر دادم اما انگار نه انگار بازم مثل اوله
function IsName($name)
{
return preg_match("/^[a-z0-9]+$/i", $name);
if(strlen($name) < 5){
return FALSE;
}
}
پاسخ: 
مساوی برای اختصاص دادن یک مقدار اولیه (پیش فرض) به آرگومان تابع است، در مورد تغییر هم وقتی در تابع یک return اجرا می شود سایر کدهای بعد از آن نادیده گرفته می شوند!، نمونه صحیح:
<?php
function IsName($name){
if(preg_match("/^[a-z0-9]+$/i", $name) && strlen($name) >= 5){
return TRUE;
}
return FALSE;
}
?>
نویسنده: علی
۰۰:۴۹ ۱۳۹۲/۱۱/۲۱
شرمنده سوالم واسه امشب سه تا شد
تو سایت اسمارتی بخش تالار عضو شدم سوال پرسیدم ولی خدایش چیزی متوجه نشدم ازشون اخه بخش فارسی زبانهاش کسی فعال نیست از کاربرای کشور المان سوال کردم با انگلیسی ولی اونا همون المانی جوابم رو دادن من از اسمارتی Smarty-2.6.28 2013 استفاده میکنم
مشکلمم اینه
{literal}
<script type="text/javascript">
var flashvarsVideo = {
source: "{/literal}{$image.url}{literal}",
type: "video",
streamtype: "file",
server: "",//Used for rtmp streams
duration: "52",
poster: "http://jaris.sourceforge.net/images/poster.png",
autostart: "false",
logo: "http://jaris.sourceforge.net/images/logo.png",
logoposition: "top left",
logoalpha: "30",
logowidth: "130",
logolink: "http://jaris.sourceforge.net",
hardwarescaling: "false",
darkcolor: "000000",
brightcolor: "4c4c4c",
controlcolor: "FFFFFF",
hovercolor: "67A8C1"
};
</script>
{/literal}
دقیقا این که تو کد بالا هم هست
source: "{$image.url}",
ولی چون تو جاوا این دستور رو وارد کردم به نتیجه تبدیل نمیشه منظورم این دستوره واسه نمایش لینک عکسه
{$image.url}
مثلا واسه استفاده از جاوا باید از دو تا استفاده کنم
{literal}
{literal/}
نمیدونم متوجه شدید مشکلم کجاست یا نه
پاسخ: 
سلام
کد شما اصلاح شد.
نویسنده: علی
۱۰:۱۱ ۱۳۹۲/۱۱/۲۳
میشه یه توضیحی در مورد این دستورات بدید معنی و مفهومشون و به چه دردی میخورن
البته فک کنم به امنیت هم ربط داشته باشه
$servername  = 'localhost';
$dbname = 'photo';
$dbusername = 'root';
$dbpassword = '';

define('SITEHD', true);
define('TABLE_PREFIX', 'ali_');
define('COOKIE_KEY', 'Qvn1fy07jxqC');
define('WEBSITE_KEY', '5odPV6G2qszi');
define('BASEPATH', dirname(dirname(__FILE__)).'/');
پاسخ: 
لطفا از طرح سوالات کلی، غیر مرتبط با مطالب و مواردی که هیچ تلاشی برای رفع آنها نکرده باشید خودداری کنید!
تنها نکته کدهای بالا استفاده از define است که برای یک عبارت یک مقدار خاص تعریف می کند، به فرض SITEHD برابر true تعیین شده و در کد هر کجا استفاده شود به معنی true خواهد بود.
نویسنده: سهیلا
۲۲:۱۰ ۱۳۹۳/۰۲/۱۳
سلام من چجوری کد نویسی کنم که کلمه s بنویسه تو خروجی، با علامت * بنویسه؟؟؟
کمک کنید ممنون میشم
پاسخ: 
سلام
سوال واضح نیست!
نویسنده: مریم
۱۵:۴۰ ۱۳۹۳/۰۲/۱۹
میشه به این سوالم جواب بدین.
فرمی طراحی کنید که هر دکمه یا ابزار یا کنترل بر روی ان شامل یک عملکرد از موارد زیر باشد. (9 تا دکمه)
الف)دوشکل کلی ازحلقه ها
ب)استفاده ازشرط ساده
ج)استفاده ازشرط های تو در تو
د)استفاده از SelectCase
ه)معرفی یک رویه
و)سه دکمه برای نمایش سه تابع دلخواه
پاسخ: 
دوست گرامی هدف سایت آموزش و کمک به کاربران است نه انجام تکالیف آنها!
نویسنده: علی
۱۲:۴۳ ۱۳۹۳/۰۴/۲۵
میدونم اینجا جاش نیست
ولی به خدا با هزار بدبختی با ایرانسل انلاین شدم تا اومدم نظر بدم
تو موتور اسمارتی واسه اینکه یه دستور تو php لود بشه باید چیکار کرد
{php}
/// Include the Services_Gravatar class.
require_once 'Services/Gravatar.php';
/// این خط زیر منظورم هست
$gravatar = new Services_Gravatar('{$comments[comment].email}', array(
'size' => 180,
'rating' => Services_Gravatar::RATING_G,
));
{/php}
{php} echo $gravatar->getHtml(array('title' => 'John Doe', 'alt' => 'John Doe avatar')) {/php}

{$comments[comment].email} 
رو چون تو php گذاشتم اجرا نمیشه
الان مثلا اگه جاوا بود با این دو تا مشکل حل میشد
{/literal} جای کد {literal}
حالا تو php چطوریه؟ تو انجمن اسمارتی پیام گذاشتم ولی کسی جواب نمیده
پاسخ: 
سوالتان مبهم است!
به نظر مشکل syntax در کدهای شما وجود دارد، این قسمت شاید به صورت زیر صحیح باشد (نیاز به تست دارد):
به جای
'{$comments[comment].email}'
از حالت
$comments[comment].email
یا
"$comments[comment].email"
استفاده کنید، البته مشخص نیست چرا email با یک نقطه به آرایه قبل خود متصل شده (مگر اینکه email یک مقدار constant تعریف شده با define باشد)، در هر صورت استفاده از کدهای PHP در قالب Smarty به همین صورتی است که در نمونه کد درج کرده اید، منتها به نظر در قسمتی یک خطای syntax وجود دارد که حل آن نیاز به آزمایش و خطا است (متاسفانه ما سیستم Smarty در اختیار نداریم).
نویسنده: علی
۰۸:۵۵ ۱۳۹۳/۰۴/۲۶
حذف شد
در قالب پلاگین کد رو قرار و صدا زد ولی اینم تست کردم کار میکنه ولی بازم عکس طرف نشون داده نمیشه
مال شما رو امتحان کردم بازم نتیجه ای نگرفتم
من موندم چرا تو سایت های فارسی هیچکی حرفی در مورد اسمارتی نمیزنه باز خوب خودش انجمن داره
پاسخ: 
- متاسفانه برنامه ای نداریم که از این موتور قالب استفاده کند، لذا امکان تست کدها میسر نیست، اگر مایل بودید اطلاعات هاستتان را از طریق ایمیل به همراه توضیح مشکل ارسال کنید تا بررسی شود.
- راجب اسمارتی مطالبی در وب فارسی وجود دارد!
نویسنده: مسعود
۰۰:۰۲ ۱۳۹۳/۰۶/۱۴
با سلام
یه سوال داشتم . میخواستم ببینم منظور از &= در کد زیر چیست ؟
$this->registry =& $registry;
پاسخ: 
سلام
علامت &= برای برقراری اتصال بین دو متغیر استفاده می شود، یعنی با تغییر متغیر اول، متغیر دوم نیز به صورت خودکار تغییر می کند، مثال:
<?php
$a =& $b;
$a = 55;
echo $b.'<br>';
$a = 66;
echo $b.'<br>';
?>
نویسنده: هادی
۱۲:۰۲ ۱۳۹۳/۰۸/۲۲
خیلی خوب بود ممنون
more لطفا پیش از ارسال یادداشت نکات زیر را مد نظر داشته باشید:
- موارد غیرمرتبط با مباحث آموزش ها را در فرم منوی "تماس با ما" مطرح و پاسخ را از طریق ایمیل دریافت کنید.
- به سوالات کلی، مبهم و مشکلاتی که تلاشی برای رفع آن نکرده باشید پاسخ مختصر داده خواهد شد.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین قرار دهید تا امکان تست و بررسی وجود داشته باشد.
- از درج عناوین تبلیغاتی در فیلدها خودداری کنید، در صورتی که یادداشت تبلیغاتی تشخیص داده شود حذف خواهد شد.
- تمام یادداشت ها بررسی و زمانی جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد خودداری کنید.





4 × 2
 refresh

آخرین دیدگاه ها
more برای دسترسی سریع به یادداشت مربوطه می توانید از لینک مطلب در کادر زیر استفاده کنید.
form کوثر رحیمی
در:
سلام ا ز راهنماییتون ممنونم من تازه وبلاگم رو درست کردم ۱۲ سالمه هر کاری می کنم فیلم در اون قرار نمیگیره همش این خطا...
۱۳۹۹/۱۰/۲۹

form متین
در:
سلام و خسته نباشید من بخوام داده ای که از قبل موجوده رو با متد پست به یک فایل ارسال کنم چجور میشه؟ یعنی...
۱۳۹۹/۱۰/۲۷

form روشنا
در:
سلام ما یه وبلاگ گروهی داریم مختص املاک فایل های جدید و حتی قالب جدید اصلا اعمال نمیشه . حتی راهنمایی که کرده...
۱۳۹۹/۱۰/۲۷

form علی
در:
من در یک سایت سازی سایت ساختم یه بخش داره به نام اسکریپت دلخواه می خوام یه اسکریپتی بذارم که مثلا یه موسیقی وقتی کاربر...
۱۳۹۹/۱۰/۲۷

form امیرحسین
در:
بله استاد خیلی ممنون، نمیدونستم خودش Optimize رو انجام میده در کل من بعد از ایندکس گذاری ها همیشه سعی کردم جوری که با...
۱۳۹۹/۱۰/۲۶

form امیرحسین
در:
ُسلام وقت بخیر این کووری هم چون اول قسمت WHERE انجام میشه بعد قسمت ON پس این کووری هم با حالت کووری قبلی برابره
۱۳۹۹/۱۰/۲۶

form امیرحسین
در:
سلام استاد وقت بخیر ممنون از پاسخ گویی های قبلی یه سوال دیگه داشتم: این هم هیچ مشکلی نداره و کار میکنه، ایا...
۱۳۹۹/۱۰/۲۵

form محمد بیدل بازه
در:
سلام خسته نباشید ببخشید من توی یک قسمت سایتم تصویری دارم و میخوام سمت راست اون تصویر متن بنویسم ولی نمیشه تا متن رو...
۱۳۹۹/۱۰/۲۵

form سلام
در:
و اینکه یه تگ خوب برای فونت معرفی کنید و یه تگ دیگه که متن رو (تیتر مطلب (تست)) در ادامش بنویسه نه اینکه...
۱۳۹۹/۱۰/۲۴

form سلام
در:
سلام وبسایتم را نگاه کنید از چه تگی استفاده کنم تا فاصله بین تیتر مطلب جدید را کاهش دهم؟ (از خطی به خط...
۱۳۹۹/۱۰/۲۴

form وطن
در:
سلام. خسته نباشید. خیلی گشتم درباره یک خطا یا ایراد فنی که چند روز هست در سایت نوشته شده با پی اچ پی (اسکریپت اولوشن)...
۱۳۹۹/۱۰/۲۴

form حورارمی
در:
سلام. من هنوز نمیدونم تو تنظیمات باید کجا رو بگردم تا قالب وبلاگم رو با عکس مورد علاقه ام تغییر بدم. یا نمیتونم...
۱۳۹۹/۱۰/۲۳

form راشد
در:
این روش خیلی طولانیه در فروشگاه من یک برنامه گرفتم که یه عکس توش اپلود کن بهت یک لینک میده در ظرف چند ثانیه و...
۱۳۹۹/۱۰/۲۱

form باسلام
در:
باسلام خدمت شما عزیز زحمت کش، من مطلب را تا آخر مطالعه کردم. من وبلاگم بازدیدای زیادی داره چون تمام مطالبش رو خودم مینویسم و...
۱۳۹۹/۱۰/۲۱

form محمود
در:
سلام و عرض ادب من در سایتم یک قسمت تب ایجاد کردم، متن ها را که در تب می نویسم پاراگراف بندی نمی شوند....
۱۳۹۹/۱۰/۲۱
form علی آقابیگی
در:
سلام خسته نباشید ببخشید من می خواستم کد جدید در وبلاگم بزارم بعد اشتباهی رفتم در قسمت ویرایش کدها و بعد بیشتر کدها را پاک...
۱۳۹۹/۱۰/۲۰
form محمد
در:
سلام. من میخوام با جاوا اسکریپت یک کدی بنویسم که وقتی کاربر روی یک دکمه ‏ای کلیک کرد، یک کد تصادفی برای شمارش ارسال...
۱۳۹۹/۱۰/۲۰
form پوریا
در:
سلام خسته نباشید، ممنونم بابت توضیحات خوبتون، یه مشکلی داشتم میخواستم ببینم امکانش هست راهنمایی کنید؟ فرض کنید یه اینطور متنی داریم: ...
۱۳۹۹/۱۰/۱۹
form seyedsobhanmansouri
در:
سلام خسته نباشید من سایتمو طراحی کردم اما به این مشکلات بر میخورم اول اینکه هدر سایتم نمایش داده نمیشه اصلا و بعد...
۱۳۹۹/۱۰/۱۹
form رضا
در:
سلام. ممنون بابت مطالب مفیدتون. این نوع جستجو به سئو سایت لطمه نمیزنه؟؟؟ چون در این مدل جستجو، مقدار impression میره بالا ولی...
۱۳۹۹/۱۰/۱۹
form mahdi
در:
سلام استاد عزیز ، پس بنظرتون بجای وقت گذاشتن برای یادگیری لاراول و وردپرس ، وقت بزارم که عمیق تر php و ساختار mvc...
۱۳۹۹/۱۰/۱۹
form علی
در:
سلام و ممنون بابت وبسایت عالیتون داخل بعضی سایت ها دیدید مثلا یه متنی شروع به تایپ شدن می کنه و وقتی کامل شد...
۱۳۹۹/۱۰/۱۸
form محمد
در:
سلام خدمت شما دوست عزیز سوالم این بود میخاستم چندتا مثال از این تابع و چند تابع دیگه از خودتون رو برام مثال بزنید...
۱۳۹۹/۱۰/۱۸
form محمود رنجبر
در:
سلام برادر مشکل من تو همین سایتی هست که فرستادم وقتی گزینه خانه رو کلیک میکنم و بعد دکمه بک گوشی رو میزنم بالای صفحه...
۱۳۹۹/۱۰/۱۷
form mahdi
در:
سلام استاد عزیز ، بعد از آموزس php با لاراول کار کنیم بهتره ؟
۱۳۹۹/۱۰/۱۶
form رضا
در:
آدرس رو براتون گذاشتم دامنه قبلا روی یه وبلاگ میهن بلاگ بود چند ماه میشه که از میهن بلاگ خداحافظی کردم ولی هنوز که هنوزه...
۱۳۹۹/۱۰/۱۴
form نیلو
در:
سلام... ببخشید بعد طراحی قالب قالب شیشه ایم هست یا نه؟؟؟
۱۳۹۹/۱۰/۱۳
form مجتهدزاده
در:
سلام من یه فرمی طراحی کردم که توش قراره تعداد زیاد (حدود 10 الی 50) فیلد رو تو دیتابیس اینسرت کنم. آیا باید...
۱۳۹۹/۱۰/۰۸
form مجتهدزاده
در:
سلام لطفا راهنمایی بفرمایید که چه زمانی قبل از متغیر @ استفاده می شه و کاربردش چیه؟ با تشکر
۱۳۹۹/۱۰/۰۶
form ali
در:
سلام چجوری میشه با php بازی هوب رو طراحی کرد
۱۳۹۹/۱۰/۰۶
form رضا
در:
سلام ممنون از سایت خوبتون ایکون سایتم رو توی دسکتاپ درست نشون میده ولی تو گوشی مشکل داره طبق اموزش شما هم انجام دادم...
۱۳۹۹/۱۰/۰۶
form فرانک دستان
در:
سلام من خیلی دوست دارم روی وبلاگم کد اهنگ بزارم ولی هیچ کدوم نمی یاد بهم گفتن از این کدها دیگه پشتیبانی نمی شه شما...
۱۳۹۹/۱۰/۰۵
form مصطفی
در:
سلام. عملگر @ چه زمانی قبل از یک متغییر میاد؟
۱۳۹۹/۱۰/۰۵
form سما
در:
سلام من وقتی میزنم روی مشاهده وبلاگ صفحه فیلتر برام میاد و نمیتونم وبلاگمو ببینم
۱۳۹۹/۱۰/۰۵
form مجتبی
در:
سلام من وبلاگ بلاگفا دارم کدها و جاوا استیکرها رو میزارم تو قسمتشون ولی همه ی کدها رو یکطرف وبلاگ نشون میده چطوری سمت...
۱۳۹۹/۱۰/۰۵
form matin asadi
در:
سلام ممنون بابت سایت خوبتو من یه مشکلی دارم می خواستم کدی برای این مثال زیر بنویسم ولی بلد نیستم ممنون میشم کمک کنید. ...
۱۳۹۹/۱۰/۰۲
form sahar1999
در:
سلام وقت بخیر چطور میتونم در برنامه نویسی سی شارپ هنگام ایجاد پایگاه داده ی MySql نام پایگاه داده رو از txetbox دریافت کنم؟
۱۳۹۹/۱۰/۰۱
  در انتظار بررسی: ۰
 پاسخگویی به سوالات ممکن است تا 24 ساعت زمان ببرد.