پنجشنبه ۰۴ اردیبهشت ۱۴۰۴

Thursday, April 24, 2025 GMT +3:30

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

php-array-functions-2

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

تابع array_fill_keys


تابع array_fill_keys که از نسخه 5.2 به php افزوده شده، یک آرایه را به عنوان آرگومان اول و یک مقدار را به عنوان آرگومان دوم دریافت می کند، سپس مقدار موجود در آرایه اول را به عنوان کلید و مقادیر موجود در آرگومان دوم را به عنوان مقدار در نظر می گیرد و در نهایت یک آرایه جدید می سازد، به مثال زیر توجه کنید.
<?php
$key_array = array('a', 'b', 'c');
$fill_array = array_fill_keys($key_array, 'php tutorial');
print_r($fill_array);
?>
خروجی مثال بالا به صورت زیر خواهد بود.
Array
(
    [a] => php tutorial
    [b] => php tutorial
    [c] => php tutorial
)

تابع array_fill


تابع array_fill برای ایجاد یک آرایه جدید با مقادیر مورد نظر کاربرد دارد، در اینجا از سه آرگومان استفاده می شود، آرگومان اول یک عدد است که اولین کلید ما را مشخص می کند، آرگومان دوم تعداد عناصر (کلید و مقدار) آرایه جدید را مشخص می کند و آرگومان سوم، عبارتی است که به عنوان مقادیر کلیدهای آرایه جدید استفاده می شود، به مثال زیر توجه کنید.
<?php
$fill_array = array_fill(1, 4, 'php tutorial');
print_r($fill_array);
?>
خروجی مثال بالا به صورت زیر خواهد بود.
Array
(
    [1] => php tutorial
    [2] => php tutorial
    [3] => php tutorial
    [4] => php tutorial
)
نکته: اگر مقادیر آرگومان اول که نقطه شروع کلیدهای آرایه است، به صورت عدد منفی باشد، در آرایه جدید، اولین کلید همان مقدار منفی است، اما کلیدهای بعدی از صفر شروع می شوند، مثال زیر روشن است.
<?php
$fill_array = array_fill(-3, 4, 'php tutorial');
print_r($fill_array);
?>
خروجی مثال بالا به صورت زیر خواهد بود.
Array
(
    [-3] => php tutorial
    [0] => php tutorial
    [1] => php tutorial
    [2] => php tutorial
)

تابع array_filter


تابع array_filter برای حذف موارد مورد نظر از یک آرایه استفاده می شود، این تابع دو آرگومان می پذیرد، آرگومان اول نام آرایه و آرگومان دوم نام تابع را در خود جای می دهد، نحوه کار آن نیز به این صورت است که مقادیر آرایه، در یک حلقه، به تابع بازگشتی (callback function) فرستاده می شود و اگر این تابع، true یا عدد 1 را برگرداند، آن مقدار در آرایه نهایی خواهد بود، اما اگر تابع مقادیر false یا 0 را برگرداند، آن مقدار (و کلید) از آرایه نهایی حذف خواهد شد، به مثال زیر توجه کنید.
<?php
function CheckArray($array){
    if($array < 5){
        return TRUE;
    }
    else{
        return FALSE;
    }
}
$array = array(1, 2, 3, 4, 5, 6);
$array_filter = array_filter($array, 'CheckArray');
print_r($array_filter);
?>
خروجی مثال بالا به صورت زیر خواهد بود.
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)

تابع array_flip


تابع array_flip جای کلید و مقدار را در یک آرایه تغییر می دهد، به طور مثال اگر عدد 1 کلید و عبارت php مقدار آن کلید باشد، با استفاده از تابع array_flip، عبارت php به عنوان کلید و عدد 1 به عنوان مقدار آرایه در نظر گرفته می شود، البته مقدار آرایه باید الزاما یک عدد (integer) یا رشته (string) باشد، نکته دوم اینکه اگر مقادیر در آرایه چند بار تکرار شده باشند، آخرین کلید به عنوان مقدار در نظر گرفته می شود، به مثال زیر توجه کنید.
<?php
$array = array('php', 'html', 'php', 'javascript', 'mysql', 'css', 'mysql', 'ajax');
$array_flip = array_flip($array);
print_r($array_flip);
?>
خروجی مثال بالا به طورت زیر خواهد بود.
Array
(
    [php] => 2
    [html] => 1
    [javascript] => 3
    [mysql] => 6
    [css] => 5
    [ajax] => 7
)

تابع array_intersect_assoc


تابع array_intersect_assoc جهت مقایسه و استخراج کلید و مقدار مشترک بین دو آرایه استفاده می شود، این تابع دو آرگومان می پذیرد، آرگومان اول آرایه اصلی و آرگومان دوم آرایه دیگر برای مقایسه با آرایه اصلی است، نتیجه نیز یک آرایه جدید با کلید و مقادیری است که بین دو آرگومان مشترک هستند، به مثال زیر توجه کنید.
<?php
$array_1 = array(12 => 'php', 14 => 'html', 18=> 'css');
$array_2 = array(19=> 'css', 13 => 'php', 14 => 'html');
$array_intersect = array_intersect_assoc($array_1, $array_2);
print_r($array_intersect);
?>
خروجی مثال بالا به صورت زیر خواهد بود.
Array
(
    [14] => html
)

تابع array_intersect_key


تابع array_intersect_key نیز برای مقایسه دو آرایه و استخراج کلیدهای مشترک استفاده می شود،  این تابع دو آرگومان می پذیرد، آرگومان اول آرایه اصلی و آرگومان دوم آرایه دیگر برای مفایسه با آرایه اصلی است، نتیجه نیز یک آرایه جدید با کلیدهایی است که بین دو آرگومان مشترک هستند، به مثال زیر توجه کنید.
<?php
$array_1 = array(12 => 'php', 14 => 'html', 18=> 'css');
$array_2 = array(19=> 'css', 18 => 'php', 14 => 'html');
$array_intersect = array_intersect_key($array_1, $array_2);
print_r($array_intersect);
?>
خروجی مثال بالا به صورت زیر خواهد بود.
Array
(
    [14] => html
    [18] => css
)

تابع array_intersect_uassoc


تابع array_intersect_uassoc جهت مقایسه و استخراج کلید با مقدار مشترک بین دو آرایه استفاده می شود، این تابع سه آرگومان می پذیرد، آرگومان اول آرایه اصلی و آرگومان دوم آرایه دیگر برای مفایسه با آرایه اصلی است، آرگومان سوم نیز یک تابع بازگشتی (callback function) جهت اعمال تنظیمات در مقایسه بین دو آرایه است، این تابع می تواند سه عدد 1، صفر یا 1- را برگرداند، نتیجه نیز یک آرایه جدید با مقادیری است که بین دو آرگومان مشترک هستند (با در نظر گرفتن تنظیمات تابع و مقایسه کلیدها)، به مثال زیر توجه کنید.
<?php
function CheckArray($array_1, $array_2){
    if($array_1 > $array_2){
        return 0;
    }
    return ($array_1 === $array_2)? 1:-1;
}
$array_1 = array(12 => 'php', 14 => 'html', 18=> 'css');
$array_2 = array(12 => 'php', 18 => 'html', 14 => 'css');
$array_intersect = array_intersect_uassoc($array_1, $array_2, 'CheckArray');
print_r($array_intersect);
?>
خروجی مثال بالا به صورت زیر خواهد بود.
Array
(
    [18] => css
)
نکته 1: در تابعی که توسط کاربر تعریف می شود (در اینجا تابع CheckArray، برای هر کلید و مقدار آرایه ها مقایسه ای صورت می گیرد، اگر مقدار اول بزرگتر از مقادیر دوم باشد، عدد صفر برگردانده می شود و این یعنی آن مورد باید به خروجی ارسال شود، در غیر این صورت عدد 1 یا 1- برگردانده می شود و مقادیر مربوطه به خروجی ارسال نمی شوند (برعکس تابع array_diff_uassoc).
نکته 2: در قسمت دوم تابع CheckArray از شیوه مختصر نویسی دستورات شرطی (if و else) در php استفاده شده است، در اینجا علامت ? بعد از پرانتز مقایسه، نقش if و علامت : نقش else را دارد.

تابع array_intersect_ukey


تابع array_intersect_ukey جهت مقایسه وجود کلید های یک آرایه (آرگومان اول) در کلیدهای آرایه دوم (آرگومان دوم) با استفاده از یک تابع بازگشتی (callback function) است که سه مقدار 1، 1- و صفر را برمی گرداند، نتیجه و خروجی نیز یک آرایه جدید با کلیدها و مقادیری است که در هر دو آرایه مشترک هستند، به مثال زیر توجه کنید.
<?php
function CheckArray($array_1, $array_2){
    if($array_1 == $array_2){
        return 0;
    }
    return ($array_1 > $array_2)? 1:-1;
}
$array_1 = array(12 => 'php', 14 => 'html', 18=> 'css');
$array_2 = array(12 => 'php', 20 => 'html', 14 => 'css');
$array_intersect = array_intersect_ukey($array_1, $array_2, 'CheckArray');
print_r($array_intersect);
?>
خروجی مثال بالا به صورت زیر خواهد بود.
Array
(
    [12] => php
    [14] => html
    [18] => css
)

تابع array_intersect


تابع array_intersect برای مقایسه دو آرایه و استخراج مقادیر مشترک (بدون در نظر گرفتن کلیدها) استفاده می شود، آرگومان اول این تابع آرایه اول و آرگومان دوم آرایه دوم است، نتیجه این تابع یک آرایه شامل مقادیر مشترک بین دو آرایه است، به مثال زیر توجه کنید.
<?php
$array_1 = array(1, 3, 5, 7, 9);
$array_2 = array(1, 2, 3, 4, 5);
$array_intersect = array_intersect($array_1, $array_2);
print_r($array_intersect);
?>
خروجی مثال بالا به صورت زیر خواهد بود.
Array
(
    [0] => 1
    [1] => 3
    [2] => 5
)

تابع array_key_exists


تابع array_key_exists وجود یک کلید را در آرایه بررسی می کند، اگر کلید مورد نظر وجود داشت، مقادیر TRUE را برمی گرداند و در غیر این صورت مقادیر FALSE را برمی گرداند، به مثال زیر توجه کنید.
<?php
$array = array('php' => 23, 'htm' => 44, 'css' => 21, 'mysql' => 32);
$check_array = array_key_exists('Java', $array);
if($check_array == TRUE){
    echo 'Yes!';
}
else{
    echo 'No!';
}
?>
خروجی مثال بالا به صورت زیر خواهد بود.
No!

تابع array_keys


تابع array_keys کلیدهای یک آرایه را استخراج کرده و با آنها یک آرایه جدید می سازد، این تابع آرگومان دومی نیز می پذیرد که اگر تعیین شود، تنها کلیدهایی در آرایه خروجی چاپ می شوند که مقادیر آنها برابر با آرگومان دوم باشد، به مثال زیر توجه کنید.
<?php
$array = array('php' => 23, 'htm' => 44, 'css' => 21, 'mysql' => 32);
$check_array = array_keys($array, '21');
print_r($check_array);
?>
خروجی مثال بالا به صورت زیر خواهد بود.
Array
(
    [0] => css
)
نکته: در php نسخه 5 و مابعد، پارامتر سومی به نام strict به این تابع افزوده شده که اگر برابر true باشد، از علامت === به جای == برای تطبیق استفاده می شود.

تابع array_map


تابع array_map با استفاده از یک تابع بازگشتی (callback function) به عنوان آرگومان اول، مقادیر یک آرایه (آرگومان دوم) را تحلیل کرده و آرایه جدیدی (با مقادیر جدید) خروجی می دهد، به مثال زیر توجه کنید.
<?php
function CallBack($value){
    if($value & 1){
        return 'فرد - ' . $value;
    }
    return 'زوج - ' . $value;
}
$array = array(1, 2, 3, 4);
$check_array = array_map('CallBack', $array);
print_r($check_array);
?>
خروجی مثال بالا به صورت زیر خواهد بود.
Array
(
    [0] => فرد - 1
    [1] => زوج - 2
    [2] => فرد - 3
    [3] => زوج - 4
)
نکته 1: در مثال بالا از عملگرهای Bitwise در php استفاده شده است (علامت &)، با استفاده از عملگرهای Bitwise می توان مقادیر عددی را با واحد بیت مقایسه کرد.
نکته 2: هنگامی که در یک تابع، return اجرا شده (و مقادیری برگردانده می شود)، در واقع به معنی پایان آن تابع (یا آن دور از به کارگیری تابع) است، لذا در هر بار فراخوانی توابع، تنها یک return اجرا می شود (هرچند در چند مرحله تابع، از return استفاده شده باشد).

تابع array_merge_recursive


تابع array_merge_recursive برای ترکیب چند لایه دو یا چند آرایه کاربرد دارد، این تابع با دریافت دو آرایه به عنوان آرگومان و با استفاده از کلیدها و مقادیر آنها، یک آرایه جدید به عنوان خروجی برمی گرداند، به مثال زیر توجه کنید.
<?php
$array_1 = array('php' => 33, 'javascript' => 21, 'html' => 22, 'css' => 45);
$array_2 = array('mysql' => 66, 'ajax' => 34, 'javascript' => 78, 'seo' => 90);
$array_merge = array_merge_recursive($array_1, $array_2);
print_r($array_merge);
?>
خروجی مثال بالا به شکل زیر خواهد بود.
Array
(
    [php] => 33
    [javascript] => Array
        (
            [0] => 21
            [1] => 78
        )

    [html] => 22
    [css] => 45
    [mysql] => 66
    [ajax] => 34
    [seo] => 90
)
نکته: همان طور که در خروجی مثال بالا مشخص است، هنگامی که یک کلید در هر دو آرایه مشترک است، ابتدا مقادیر آنها در یک آرایه جدید ترکیب شده و سپس ادامه موارد به خروجی ارسال می شوند.

تابع array_merge


تابع array_merge برای ترکیب ساده دو یا چند آرایه کاربرد دارد، این تابع با دریافت دو آرایه به عنوان آرگومان و با استفاده از کلیدها و مقادیر آنها، یک آرایه جدید به عنوان خروجی برمی گرداند، به مثال زیر توجه کنید.
<?php
$array_1 = array('php' => 33, 'javascript' => 21, 'html' => 22, 'css' => 45);
$array_2 = array('mysql' => 66, 'ajax' => 34, 'javascript' => 78, 'seo' => 90);
$array_merge = array_merge($array_1, $array_2);
print_r($array_merge);
?>
خروجی مثال بالا به شکل زیر خواهد بود.
Array
(
    [php] => 33
    [javascript] => 78
    [html] => 22
    [css] => 45
    [mysql] => 66
    [ajax] => 34
    [seo] => 90
)
نکته: همان طور که در خروجی مثال بالا مشخص است، هنگامی که یک کلید در هر دو آرایه مشترک است، تنها مقادیر کلید دوم به خروجی ارسال می شود.

تابع array_pad


تابع array_pad برای گسترش یک آرایه به میزان مورد نظر استفاده می شود، این تابع سه آرگومان می پذیرد، آرگومان اول آرایه ای است که قصد گسترش آن را داریم، آرگومان دوم میزان گسترش آرایه است و آرگومان سوم مقادیری است که برای کلیدهای اضافه شده در نظر گرفته می شود، به مثال زیر توجه کنید.
<?php
$array = array(1, 2, 3, 4, 5);
$array_pad = array_pad($array, 7, 0);
print_r($array_pad);
?>
خروجی مثال بالا به صورت زیر خواهد بود.
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 0
    [6] => 0
)
نکته: اگر مقادیر آرگومان سوم، عددی مثبت یا صفر باشد، کلیدهای اضافه شده به انتهای آرایه افزوده می شوند، اما اگر مقادیر منفی باشد، کلیدها از ابتدای آرایه اضافه می شوند.
توابعی که تا این لحظه بررسی نمودیم، تنها بخشی از قدرت php برای کار با آرایه ها است، لذا به جهت اهمیت موضوع، مبحث توابع کار با آرایه ها را در آموزش های آینده ادامه خواهیم داد.
دسته بندی: آموزش مقدماتی » PHP
related مطالب بیشتر:
تعریف و استفاده از متغیر (Variable) در PHP
حلقه for، foreach و while در PHP
توابع (Functions) در PHP
توابع کار با آرایه در PHP - بخش اول
آموزش برنامه نویسی وب با PHP
دیدگاه
more ۱۷ دیدگاه برای این مطلب ارسال شده است.
more چینش دیدگاه ها به ترتیب از جدیدترین به قدیمی ترین است.
امیرعلی
۲۰:۵۵ ۱۳۹۹/۱۱/۰۹
با سلام
بنده در حال توسعه وردپرس میباشم میخواستم بدان آیا راهی هست تا در بتوان کدی را به فانکشن زیر افزود؟
public static function init_presets() {
$additional_presets = [
2 => [
[
'preset' => [ 33, 66 ],
],
[
'preset' => [ 66, 33 ],
],
],
3 => [
[
'preset' => [ 25, 25, 50 ],
],
[
'preset' => [ 50, 25, 25 ],
],
[
'preset' => [ 25, 50, 25 ],
],
[
'preset' => [ 16, 66, 16 ],
],
],
];
}
یعنی : برای مثال
اعداد 66 33 و 33 66 وجود دارند
حالا بتوان اعداد 70 30 را نیز به آنها افزود
بدین شکل:
[
'preset' => [ 70, 30 ],
],
میخواهم به شکلی بدون دستکاری این کد ، از جای دیگری 70 30 را نیز به آن اضافه کنم (و اعداد دیگری...). مثل هوک زدن ولی نمیدانم چطوری
خلاصه از اول گسترش فانکشنی که ذکر شد با افزودن :
[
'preset' => [ 70, 30 ],
],
از جایی دگر و بدون تغییر در کد اصلی
تشکر فراوان
متاسفانه با وردپرس کار نمی کنیم و دسترسی به سورس کدها جهت تست نداریم اما در حالت کلی اگر به خروجی متد init_presets دسترسی داشته باشید می توانید آرایه را به صورت نمونه زیر تغییر دهید:
<?php
class Test{
public static function init_presets() {
return $additional_presets = [
2 => [
[
'preset' => [ 33, 66 ],
],
[
'preset' => [ 66, 33 ],
],
],
3 => [
[
'preset' => [ 25, 25, 50 ],
],
[
'preset' => [ 50, 25, 25 ],
],
[
'preset' => [ 25, 50, 25 ],
],
[
'preset' => [ 16, 66, 16 ],
],
],
];
}
}
$var = Test::init_presets();
$var[2][2]['preset'] = [70, 30];
print_r($var);
?>
در اینجا فرض ما این است که متد init_presets آرایه additional_presets را به عنوان نتیجه برمی گرداند (دستور return جهت تست اضافه شده است).
zeynabghasempoor
۱۹:۳۵ ۱۳۹۸/۰۴/۱۱
با سلام و ممنون از سایت خوبتون
من یه سوال دارم
چجوری میتونم اطلاعات موجود توی دیتابیسم رو که موقعیت x, y هستن داخل یک رشته ذخیره کنم و بعد نمایششون بدم
خیلی تلاش کردم اما هنوز نتیجه ای نگرفتم
ممنون میشم کمکم کنین
اگر مشکل صرفا نحوه دریافت اطلاعات از دیتابیس و گرفتن خروجی از آنها است لطفا مطلب مربوط به دستور SELECT را از بخش آموزش های مقدماتی MySQL مطالعه کنید، در غیر اینصورت اگر مشکل دیگری وجود دارد لطفا یک اسکرین شات یا نمونه صفحه درج کنید تا امکان راهنمایی بیشتر وجود داشته باشد.
ریحان
۱۹:۴۷ ۱۳۹۷/۰۲/۲۱
سلام چجوری میشه بزرگترین مقدار فیلد توی جدول پایگاه داده رو توی php پیدا کرد؟
برای این منظور پس از استخراج اطلاعات از دیتابیس می توانیم از تابع max استفاده کنیم:
$value = max($array);
$key = array_search($value, $array);
اگر می خواهید صرفا بزرگترین مقدار از دیتابیس استخراج شود نیز نمونه پرس و جوی زیر کاربرد دارد:
SELECT id, col_name FROM tbl_name ORDER BY col_name DESC LIMIT 1 
محمد
۲۱:۵۲ ۱۳۹۴/۱۱/۱۹
سوال رو سخت پرسیدم
اینجوری میپرسم
یه آرایه داریم با مقدارهای نامشخص عددی چطور بتونم بفهمم کدوم مقدار بزرگتره
$array = array( '$x', '$y', '$e', '$r', '$a');
در صورتی که صرفا بزرگترین مقدار عددی مورد نیاز است، کافی است از تابع max در PHP استفاده کنید، مثال:
<?php
$array = array(1, 3, 2, 6, 8);
$max = max($array);
echo $max;
?>
در صورتی که می خواهید کلید متناظر را پیدا کنید:
$key = array_search($max, $array);
نکته: توابعی مانند natsort و array_reverse نیز برای تغییر چینش کلیدها می توانند در صورت نیاز مورد استفاده قرار گیرند.
محمد
۱۸:۲۲ ۱۳۹۴/۱۱/۱۹
با سلام خدمت استاد گرامی
من میخوام چهار تا ارایه رو با هم مقایسه کنم بیبینم کدوم بزرگتر از چه تابع باید استفاده کنم
توضیح: آرایه ها عددی هستند
بهتر توضیح بدم از دیتابیسم گرفتم چهار تا جدول دارم ، یک موضوع رو از هر جدول استخراج کردم، خروجی هر جدول رو ریختم توی یک ارایه حالا میخوام مقایسه کنم بیبینم کدوم خروجی بیشتر بوده
سلام
دامنه پاسخ به این سوال (با توجه به نامشخص بودن مقادیر آرایه ها و منظور از بزرگتر و کوچکتری) خیلی گسترده است، لطفا سوال را به همراه نمونه آرایه ها و اینکه دقیقا خروجی مورد انتظار باید به چه نحوی باشد، مطرح کنید!
sina
۰۰:۱۲ ۱۳۹۴/۱۱/۱۲
با سلام خدمت شما ... واقعا سایتتون بسیار عالی هستش
خدا حفظتون کنه .. ممنون
حسین
۱۵:۳۹ ۱۳۹۴/۱۰/۱۷
با سلام و تشکر برای آموزش های بسیار خوب و کاربردیتون
دو سوال داشتم یک چطور میشه یک کارکتر خاص رو از تمامی آرگومان های یک ارایه حذف کرد
مثال من میخوا حرف p رو در این آرایه خذف کنم
array(p2131,p3122, p2133, p2134, p2135)
سلام
باید با حلقه foreach و توابعی مانند str_replace کار کنید:
<?php
$array = array( 'p2131', 'p3122', 'p2133', 'p2134', 'p2135');
$loop = 0;
foreach($array as $key => $value){
$value = str_replace('p', '', $value);
$array[$loop] = $value;
$loop++;
}
print_r($array);
?>
mohammad
۱۹:۰۷ ۱۳۹۳/۰۶/۱۴
سلام و عرض خسته نباشید.
استاد ببخشید عملگر & در کد
$value & 1
چه کاری انجام میده؟ (در تابع مربوط به array_map می باشد)
سلام
عملگر & جزء عملگرهای بیتی یا Bitwise است که با حالت منطقی یا Logical متفاوت است (نیازمند آشنایی قبلی شما با مفاهیم Binary یا همان 0 و 1 است).
http://php.net/manual/en/language.operators.bitwise.php
علامت & در اینجا مجموع عدد بیت های مشترک (جایی که دو مقدار بیت مشترک دارند) بین 1 با متغیر value را برمی گرداند.
http://www.litfuel.net/tutorials/bitwise.htm
جواد
۱۵:۳۹ ۱۳۹۲/۰۸/۰۹
در این حالت در قسمت فرم action باید چه مقداری قرار بدیم؟
نام یا آدرس همان فایل را قرار دهید!
جواد
۱۵:۱۳ ۱۳۹۲/۰۸/۰۹
اره منظورم همون مورد اول هست یعنی کدهای اچ تی ام ال در همان صفحه ی پی اچ پی واقع باشند در چنین حالتی چطور میشه یه مقدار HTML رو درون یه متغیر PHP قرار و برای این کار حتما باید فرم HTML تشکیل بدیم؟ با تشکر
علاوه بر فرم های وب، روش های دیگری مانند متد GET (دریافت پارامتر از URL) نیز کاربرد دارند، اما در کل روش اصلی ارسال اطلاعات به سرور، استفاده از فرم در HTML است.
جواد
۱۴:۵۵ ۱۳۹۲/۰۸/۰۸
ممنون من یه سوالی واسم پیش اومده ما معمولا فرمهای اچ تی ام ال رو به سمت سرور ارجاع میدیم و اونجا تحلیل میشن ولی میشه کدهای php رو در همون صفحه اچ تی ام ال نوشت و در همون صفحه تحلیل بشن ایا این روش توصیه میشه؟
سوالتان خیلی واضح نیست! اگر منظورتان این است که فرم های HTML به همان صفحه ارجاع داده شوند، این کار به راحتی و از طریق تنظیم قسمت action فرم ممکن است، اما اگر منظورتان این است که کدهای PHP را در فایل HTML و در مرورگر پردازش کنیم، این کار ممکن نیست، PHP یک زبان سمت سرور است و باید در مفسر سرور پردازش شود، لذا فرمت فایل نیز باید php باشد (هرچند امکان استفاده از کدهای HTML در فایل PHP وجود دارد).
رضا
۱۷:۵۹ ۱۳۹۲/۰۷/۲۱
سلام و خسته نباشید
اگه ممکنه توضیح بدید چطور میشه عکس ها را با php به نمایش گذاشت مثلا کاربر فرم ثبت نام را پر کرده و وارد سایت شده حالا می خوایم در همین صفحه عکس بارگذاری شود و چطور میشه این عکس رو به عنوان بکگراند صفحه قرار داد. ممنون
سلام
PHP یک زبان سمت سرور است که با اجرای کدهای آن، خروجی سمت کاربر (HTML) به دست می آید، لذا باید کدی بنویسید که خروجی آن تگ img باشد، مثال ساده:
<?php
echo '<img src="image/'.$user.'.jpg" alt="image" height="200" width="100">';
?>
می توانید این خروجی را هر طور که مایل بودید، تنظیم و ارسال کنید، لذا برای مواردی مانند تصویر پس زمینه کافی است کلاس CSS به یک تگ div یا body بدهید و در آن background را با تصویر مورد نظر تنظیم نمائید (نیاز به آشنایی با CSS است).
رضوانه
۱۶:۲۰ ۱۳۹۲/۰۶/۳۱
با سلام من یک سایت فروشگاه طراحی کردم در دسترسی مدیریت میخواهم برای مدیر امکان search در جدول مشتریان را قرار دهم, چطور این کار را انجام دهم؟
سلام
سوالتان کلی است و در نتیجه پاسخ آن هم کلی:
باید از مواردی مانند LIKE و FULLTEXT در MySQL استفاده کنید که هر کدام آموزش های مفصل و مخصوص به خود دارند، البته قاعدتا داشتن تجربه برنامه نویسی با PHP و کار با دیتابیس نیز پیش نیاز این مورد محسوب می شود.
farzane
۱۵:۵۶ ۱۳۹۲/۰۶/۱۱
با سلام خدمت شما مدیر گرامی و با تشکر از مطالب بسیار مفیدتون ....بنده تازه شروع به یادگیری این زبان کرده ام میخوام یه تابع داشته باشم که چند تا آرگومان رو باهم جمع کنه اما نوع آرگومان ها یکسان نیست باید چطوری بنویسم
ممنون
سلام
سوالتان کامل نیست، لطفا چند مثال از نمونه آرگومان های ورودی و خروجی مورد انتظار درج کنید.
ابوالفضل
۱۶:۱۰ ۱۳۹۲/۰۴/۰۶
واقعا سایت عالی دارین من با کمک آموزش های شما خواستم یه کاری انجام بدم که با مشکل مواجه می شم
به کد زیر توجه کنید ( توجه داشته باشید این یک مثال هستش و هر دفعه اعداد فرق می کند )
1212-1345-1587-2323-5454-4346565-232434-1234
می خوام این خروجی رو ازش بگیرم
1212.mm@http://1345.mm@http://1587.mm@http://2323.mm@http://5454.mm@https://4346565.mm@https://232434.mm@http://1234
و حالا توضیحات من میخوام به ابتدای عدد اولی هیچ چیزی اضافه نشود و به انتهای همه عدد ها به جز آخرین عدد عبارت
.mm 
اضافه شود....
همچنین در ابتدای همه عدد ها به جز اولی اگر اعداد زیر پنج رقم هستش عبارت
http://
و اگر بیشتر پنج رقم هستش عبارت
https://
اضافه شود
ممنون میشم راهنمایی بفرمایید
هرچند دقیقا مشخص نیست که قصد انجام چه کاری را دارید، اما بر اساس اطلاعات و هدف شما، کد زیر این کار را انجام می دهد:
<?php
function AddHttp($num){
if(strlen($num) >= 5){
return 'https://'.$num;
}
elseif(strlen($num) < 5){
return 'http://'.$num;
}
return FALSE;
}
$str = '1212-1345-1587-2323-5454-4346565-232434-1234';
$array = explode('-', $str);
//print_r($array);
$count = count($array);
$result = NULL;
for($i = 0; $i < $count; $i++){
if($i == 0){
$result .= $array[$i];
}
elseif($i > 0){
$result .= '.mm@'.AddHttp($array[$i]);
}
}
echo $result;
?>
more لطفا پیش از ارسال دیدگاه نکات زیر را مد نظر داشته باشید:
- به سوالات کلی، زمانبر، مبهم و مشکلاتی که تلاشی برای رفع آنها نکرده باشید پاسخ مختصر داده شده یا به بخش برنامه نویسی اختصاصی ارجاع داده می شوند.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین یا به صورت حساب موقت و آزمایشی قرار دهید تا امکان بررسی دقیق مشکل و خطایابی میسر باشد.
- تمام دیدگاه های ارسالی خوانده شده و برای هر کاربر مدت زمان لازم جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.



 refresh
10 × 10
3 × 1
20 × 20
=