آموزش رشته ها و آرایه های سوپرگلوبال در PHP

دسته بندی: آموزش
زمان مطالعه: 5 دقیقه
۰۱ مرداد ۱۳۹۱

فهرست محتوای این مقاله

    در این قسمت از آموزش php شما را با مبحث String ها (رشته ها) و آرایه های سوپر گلوبال آشنا خواهیم ساخت . بخش رشته ها و آرایه های سوپرگلوبال یکی از قدرت های php هستند و می توان برنامه های بسیار کاربردی با استفاده از این دو انجام داد .

    آرایه های سوپرگلوبال :

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

    $_POST[' ' ];
    $_GET[' ' ];
    $_FILES[' ' ];

    به عنوان مثال برای پردازش یک فرم با متد POST می توانید از آرایه سوپرگلوبال POST استفاده نمائید .

    نکته :

    در قسمت های مختلف آموزش php با آرایه های سوپرگلوبال زیادی آشنا می شوید ،مخصوصا در مباحث : پردازش فرم و آپلود فایل و سیستم لاگین .

    نکته :

    آرایه های سوپرگلوبال باید با حروف بزرگ نوشته شوند.

    برای این که مفهوم آرایه های سوپر گلوبال برای شما قابل درک باشد ، یک مثال خواهیم زد :

    در ابتدا کد زیر را در ویندوز خود اجرا نمائید :

    <html>
    <form method="post" action="" enctype="multipart/form-data">
    <input type="file" name="image">
    
    <p>
    <input type="submit" name="upload" value="upload">
    <input type="reset" name="reset" value="reset">
    </p>
    </form>
    <pre>
    <?php
    if(isset($_POST['upload'])){
    print_r($_FILES);
    }
    ?>
    </pre>
    </html>

    پس از اجرا کردن آن ، بر روی گزینه browse کلی نمائید و یک فایل را انتخاب نمائید و گزینه upload را کلیک نمائید ، حال متنی برای شما چاپ می شود :

    آرایه های سوپرگلوبال در php

    همانطور که مشاهده نمودید ، آرایه files دارای 5 مقدار است(name , type , tmp_name , error , size)  از این آرایه برای آپلود کردن فایل استفاده می شود .

    نکته :

    از دستور print_r برای چاپ کردن مقادیر یک آرایه استفاده می شود ، همچنین در کد بالا از دستور pre استفاده کردیم ، برای نمایش خواناتر آرایه.

    رشته ها (Strings) :

    در این قسمت شما را با رشته ها و توابع کاربردی رشته ها در php آشنا خواهیم ساخت.

    برای شروع بهتر یک مثال بزنیم :

    <?php
    $result = "this is PHP . \n Part of the Strings. " ;
    echo $result;
    ?>

    اگر خروجی را مشاهده نمائید ، این جمله در یک خط نوشته شده است ولی اگر سورس کد صفحه را مشاهده نمائید ، جمله ما در دو خط چاپ شده است .

    به این کاراکترها ، کاراکترهای فرار می گویند ، در جدول زیر لیستی از کاراکترهای فرار را مشاهده می نمائید :

    کارکاترهای فرار
    نام کاراکتر توضیح
    \n کاراکتر خط جدید
    \r
    \t فاصله گذاری افقی
    \v فاصله گذاری عمودی
    \e یک فاصله یا همان space
    \f میدونم هست ولی کاربردش رو خودم هم نمیدونم
    \\ قرار دادن یک بک اسلش
    \$ علامت دلار
    \" قرار دادن کوتیشن
    \[0-7]{1,3} برای مبنای 8
    \x[0-9A-Fa-f]{1,2}

    روش Heredoc :

    این روش در مواقعی کاربرد دارد که شما بخواهید یک متن طولانی را چاپ نمائید ، یکی از خوب هایی که دارد این است که دیگر نیازی نیست از کوتیشن های تکی و دوتایی استفاده کنید.

    <?php
    echo <<<EOD
    Example of string
    spanning multiple lines
    using heredoc syntax.
    EOD;
    
    ?>
    نکته :

    کاراکتر های >>> اجباری هستند و EOD آخر حتما باید در یک خط جداگانه چاپ شود.

    آشنایی با چند تابع پرکاربرد برای رشته ها :

    1) تابع strlen :

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

    <?php
    echo strlen("Hello world!"); //OutPut : 12
    ?>

    2) تابع strpos :

    در این تابع میتوان یک مقدار را مورد جستجو قرار داد و موقعیت آن را بر می گرداند :

    <?php
    echo strpos("Hello world!","world"); //OutPut:6
    ?>

    در کد بالا ، مقدار world را مورد جستجو قرار می دهد و موقعیت اولین کاراکتر را یعنی w را بر می گرداند.

    3) تابع های حذف فضاهای خالی :

    • ltrim : برای حذف فضای خالی سمت چپ استفاده می شود.
    • chop : برای حذف فضای خالی سمت راست استفاده می شود.
    • trim : برای حذف فضاهای خالی سمت چپ و راست استفاده می شود.

    <?php
    $lentgh = "      Milad Heydari              ";
    echo trim($lentgh) . "<br>";
    echo ltrim($lentgh) . "<br>";
    echo chop($lentgh) . "<br>";
    ?>

    4) تابع های تبدیل حروف رشته ها :

    • strtoupper : این تابع رشته ای را به حروف بزرگ تبدیل می کند.
    • strtolower : این تابع رشته ای را به حروف کوچک تبدیل می کند.
    • ucfirst : بزرگ کردن اولین حرف رشته مثلا Milad
    • ucwords : بزرگ کردن اولین حرف تمام کلمات رشته مثل Milad Heydari
    <?php
    $one = "7learn is best";
    $two = "7LEARN IS BEST";
    echo strtolower($two) . "<br>";
    echo strtoupper($one)  . "<br>" ;
    echo ucfirst($one)  . "<br>";
    echo ucwords($one)  . "<br>";
    ?>

    5) جایگزینی رشته ها :

    با استفاده از این تابع شما می توانید مثلا به جای _ از - استفاده شود :

    <?php
    $two = "7LEARN_IS_BEST";
    echo str_replace("_" , "-" , $two);
    ?>

    برای آشنایی با تمامی تابع های رشته ها می توانید به آدرس زیر مراجعه نمائید :

    این قسمت را حتما چندین بار تمرین کنید تا در ذهنتان باقی بماند .

    در قسمت بعدی آموزش ،  شما را با خطاها در php آشنا خواهیم ساخت

    نویسنده
    19 ساله، ساکن تهران و دانشجوی مهندسی کامپیوتر ؛طراح وب سایت ، سئو کار با سابقه کاری ، مطالعه بسیار زیاد در امر سئو و برندینگ اینترنتی و آشنایی با زبان های همچون PHP,JavaScript,html5,CSS3, Jquery ، با زبان انگلیسی آشنایی کامل دارم و شدیدا طرفدار استقلال و فرهاد مجیدی هستم.

    نظرات کاربران

    Mostafa

    سلام آقای حیدری عزیز اگه می شه شما به جای آقای محمدسینا بخش آموزش کد نویسی قالب با فتوشاپ طراحی شده را ارائه دهید با تشکر

    لقمان آوند

    متاسفانه آقای معراجیان فعلا درگیر درس خوندن برا کنکور هستند . باید به خودشون بگید که ادامه بدن .

    Mostafa

    خوب شما لطف کنید با اجازه ی آقای معراجیان به جای ایشون این این آموزش رو ارائه بدین خواهشاً

    لقمان آوند

    ایشون این سری رو شروع کردند و هیچ کس به خوبی خودشون نمی تونن ادامه بدن . ایشالله در آینده قصد دارم که آموزش ویدیویی طراحی قالب رو بزارم . البته بعد از اتمام جلسات html و js .

    Mostafa

    aha mamnoon

    HappyMoon

    از تابع str_replace() خوشم اومد. 😀

    HappyMoon

    تابع حذف فضاهای خالی چه جایی می‌تونه کاربرد داشته باشه؟
    چون من داخل wamp امتحان می‌کنم اما خروجی خود رشته با خروجی رشته وقتی فضای خالی از سمت چپ حذف می‌شه یا با خروجی دیگر تابع‌های حذف هیچ فرقی نداره.

    میلاد حیدری

    سلام این 3 تابه کاربردهای بسیار زیادی دارند به عنوان مثال در پردازش فرم ها که خواهیم گفت ، بسیار پر کاربرد هستند و می توان بسیار از مسائل امنیتی ، رفع اشگال و… را با این سه تابع بر طرف کرد…

    HappyMoon

    مرسی. پس اگه بعدا تو فرم‌ها ازش استفاده کنین تغییرش رو متوجه شیم خیلی ممنون می‌شم.

    میلاد حیدری

    بله حتما ولی کاربرد این 3 تابع فقط در فرم ها نیست …

    HappyMoon

    درسته. کم‌کم متوجه بقیه کاربردهاش هم می‌شیم. 😳

    HappyMoon

    به جای تابع chop از rtrim هم می‌شه استفاده کرد؟

    میلاد حیدری

    بله می توان استفاده کرد

    عباس بهرامی کیا

    مرسی میلاد خان.

    hosein2398

    اٍ چرا عکسش فرق کرد؟ 🙂

    میلاد حیدری

    درست شد

    نیاز به لاگین

    برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.
    گزارش مشکل