النتائج 1 إلى 14 من 14

الموضوع: الفرق بين علامات التنصيص في PHP (درس)

  1. #1
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2005
    المشاركات
    359

    الفرق بين علامات التنصيص في PHP (درس)



    ملاحظه : اشارك "مهتم" في اسمه مؤقتا حتى استطيع التسجيل..

    السلام عليكم,,,

    كثير من مبرمجين PHP (المبتدئين خاصة) يتقعدون ان التعبيرين التاللين متشابهين تماما من ناحية الاداء :
    كود PHP:
    echo "welcome to swalif soft"
    كود PHP:
    echo 'welcome to swalif soft'
    في الحقيقه انهم يعملون بطريقه مختلفه نوعا ما , و كل وحده يتفرض تستعملها بوضع معين. الفرق الاساسي بين التعبيرين ان علامتي التنصيص (") تسمح لك انك تضع متغيرات او رموز خاصه (مثل \n) في وسط الجمله مثل :
    كود PHP:
    echo "your name is $name \n welcome"
    لاحظ وجود متغير و رمز \n للسطر الجديد. بعد ما يتنفذ هذا الامر بيكون الناتج بالمتصفح :

    your name is khalid
    welcome

    على افتراض ان متغير $name كان يحمل اسم خالد ; تم استبدال المتغير بقيمته في الجمله , و الرمز بسطر جديد.

    لكن فرضا لو اعدنا كتابة الجمله بالطريقه هذي :

    كود PHP:
    echo 'your name is $name \n welcome'
    بيكون الناتج بالمتصفح :

    your name is $name \n welcome

    يعني الجمله نفس ماهي بالظبط ما تغير فيها ولا شي.

    طيب وش الفرق بين الجملتين من ناحية الاداء؟

    الفرق ان الطريقه الاولى (بعلامتين تنصيص) تحتاج PHP انه يبحث فيها عن متغيرات و رموز خاصه عشان يستبدلها , بينما اذا استعملت الثانيه (بعلامة تنصيص وحده) فراح يعرف PHP انه كل شي بينطبع زي ماهو تماما بدون استبدال اي شي. يعني اذا كنت تبي تطبع جمل ما فيها متغيرات او رموز خاصه فليش تستعمل علامتين تنصيص و تخلي PHP تبحث في جملتك مع ان مافيها شي اساسا؟ صحيح ان الفرق في السرعه قد يكون بسيط جدا , لكن ممكن يبين معك في البرامج اللي تتطلب طباعة اشياء كثيره للمتصفح.

    و ممكن تستعيض عن علامتين التنصيص بالعلامه الوحده في اغلب (او جميع) المواقف , يعني في الجمله السابقه , ممكن نكتبها بالشكل التالي :
    كود PHP:
    echo 'your name is ' $name "\n" 'welcome'
    هنا راح تطبع الجزء الاول , ثم تدمجه مع محتويات المتغير , ثم تضيف سطر جديد ثم تطبع الجزء الاخير. بكذا تكون الطباعه اسرع (نوعا ما) و حتى اسهل للمبرمجين الثانيين اذا جو يقرون الكود تبعك.


    تحياتي,
    saudi_php@hotmail.com







  2. #2
    فضلاً اكتب اسمك الحقيقي هنا
    زائرداعية


    ألف شكر أخي
    أريد معرفة الرموز مثل

    n\
    و
    t\
    ....






  3. #3
    عضو نشيط
    تاريخ التسجيل
    Jan 2005
    المشاركات
    285


    كود:
    \n = new line
    
    \t = tab






    __________________
    "من علمني حرفا صرت له عبدا"
    |+|PHP|+|loowy|+|PHP|+|
    "عامل الناس بما تحب أن يعاملوك به"
    لـــــــــــــــــــــــــــــؤي

  4. #4
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2005
    المشاركات
    995


    ألف شكر أخي
    أريد معرفة الرموز مثل

    n\
    و
    t\
    ....
    أتوقع انك تبغى أشياء غير التاب والسطر الجديد ؟؟ والا....
    عموماً... اخذت الرموز من صفحة الـ addslashes في php.net

    http://uk.php.net/addcslashes

    والمعاني طلعتها من النت
    والله العالم

    كود:
    \0=Null
    \a=alarm
    \b=backspace
    \f=form feed
    \n=newline
    \r=carriage return
    \t=tab
    \v=vertical tab
    بالتوفيق
    -----------------
    مستعير العضوية






  5. #5
    فضلاً اكتب اسمك الحقيقي هنا
    زائرداعية


    جزاك الله خيرا






  6. #6
    عضو نشيط
    تاريخ التسجيل
    Feb 2005
    المشاركات
    50


    شكرا لك , وجزاك الله خير .





    __________________
    php.php @ hotmail.com

  7. #7
    مُجَاهِد سابقاً
    تاريخ التسجيل
    Apr 2004
    المشاركات
    12,000


    شكراً لك اخي الكريم ..
    الف شكر لك ..





    __________________
    استخدم خاصية تنبيه المشرفين للضرورة وعند ملاحظة موضوع يخالف قوانين منتديات سوالف وسيتم مراجعة الموضوع او المشاركة المبلغ عنها على الفور

  8. #8
    عضو سوبر نشيط
    تاريخ التسجيل
    Dec 2004
    المشاركات
    929


    شكرا لك يامهتم

    درس استفدت منه





    __________________
    سبحان الله وبحمده ،، سبحان الله العظيم
    تذكر هذه الآيه قبل ان تشارك( مَا يَلْفِظُ مِن قَوْلٍ إِلَّا لَدَيْهِ رَقِيبٌ عَتِيدٌ)

  9. #9
    عضو فعال
    تاريخ التسجيل
    Feb 2004
    المشاركات
    1,318


    جزاك الله خير اخوي





    __________________
    سبحان الله وبحمده سبحان الله العظيم

    منتديات ترنيمة

  10. #10
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2004
    المشاركات
    500


    نقطة مهمة ورائعة


    وليس غريب على الاخ مهتم هذه الاشياء


    دمت لنا معلما






  11. #11
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2005
    المشاركات
    995


    مهتم

    معليش بصراحة لما قريت الدرس في البداية... طنشت
    قلت ماراح تفرق واجد....

    اليوم جبت لي نص عربي... حجمه تقريباً 1.65 ميجا...

    وسويت benchmark للصفحة...
    وطبعته باستخدام " وباستخدام '....

    بصراحة ما طلع فيه أي فرق معي
    كلهم استغرقوا نفس الوقت تقريباً .....(أقول تقريباً لأن في الحقيقة " أخذت وقت أقل من ' )...
    طبعاً كررت التجربة 10 مرات لكل استخدام... وأخذت الأقل والأكثر.... المعدل ما اخذته... لكن تقريباً نفس الشي...

    النص مجرد نص... بدون أي متغيرات....

    ياليت تسوي التجربة... وتقولنا النتايج اللي تطلع معك (أو أي واحد من الشباب)...

    نسيت أقول:
    أستخدم PHP 5.1.0RC1
    أستخدمه كـ CGI مو كـ apache module....
    الأباتشي نسخة 1.3.23

    بالتوفيق...
    ----------------
    مستعير العضوية






  12. #12
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2005
    المشاركات
    403


    اشكر الجميع على ردودهم , بس ترا انا مو مهتم , انا استعملت اسم "مهتم" مؤقتا و الحين اكتب بهذا الاسم

    عسول , انا نفسي ما شفت اي فرق لما اختبرته بـxDebug , عشان كذا قلت :
    صحيح ان الفرق في السرعه قد يكون بسيط جدا , لكن ممكن يبين معك في البرامج اللي تتطلب طباعة اشياء كثيره للمتصفح.
    اخوي عسول , جرب تختبر نفس المثال اللي حطيتهم بالدرس , انا طلعت النتيجه تختلف عندي بحث ' تفوقت على " .

    هذي نتيجة الاختبارين عندي باستخدام xDebug :
    كود PHP:
    echo "your name is $name \n welcome"
    المرة الاولى : 0.0000219345 ثواني
    المره الثانيه : 0.0000209808 ثواني
    المره الثالثه : 0.0000221729 ثواني

    كود PHP:
    echo 'your name is ' $name "\n" 'welcome'
    المره الاولى : 0.0000169277 ثواني
    المره الثانيه : 0.0000178814 ثواني
    المره الثالثه : 0.0000190735 ثواني

    يعني الفرق يكاد لا يذكر , لكن مثل ما قلت بالموضوع ممكن الفرق يبين اذا كان البرنامج اكبر.

    تحياتي






  13. #13
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2005
    المشاركات
    995


    السلام عليكم

    الموضوع ممتع...

    أنا في المرة الماضية بس جربت نص بدون متغيرات....
    فما كان فيه فرق أبداً....

    بعد التجارب....
    لما تدرج متغير في النص... هنا يآخذ وقت...
    لكن لو استخدمت " لإدراج نص فقط... ما راح تفرق أبد ((تمت التجربة من قبل على نص حجمه ميجا ونص))..
    =======
    جرب:
    كود PHP:
    echo "your name is " $name "\nwelcome"
    وبالمقابل جرب:
    كود PHP:
    echo "your name is $name\nwelcome"
    بس بصراحة ما كنت متوقع انها بتفرق لو أدرجت المتغير داخل العلامات أو خارجها

    تسلم أخوي على التنبيه الرائع...
    ------------------
    مستعير العضوية






  14. #14





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض