مشاهده نسخه کامل
: چند سوال نکته دار در مورد برنامه نویسی php و mysql
سلام
1- تو دیتابیس یک مقدار intger داریم وقتی کوئری میگیریم آیا به صورت intger برگردانده شده یا string ؟
مثلا در دیتابیس عدد 9 به صورت intger ذخیره شده و ما با عدد 9 به صورت intger باید مقایسه کنیم یا با "9" یا اینکه هر دو تا رو دوباره به intger تبدیل کنیم؟
2- در switch(){} میشه از شرط استفاده کرد به صورت زیر :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
کد بالا ظاهرا مشکل داره و مقدار صفر و هم تشخیص نمیده!
4- اگر فایلهای include رو در آخرشون ?> نزاریم (نبندیم) تاثیری هم داره؟
8- بهترین روش تعریف تنظیمات در فایل config به صورت variable است یا define ؟
9- وردپرس کوئری های یک قالب رو همزمان به صورت موازی اجرا میکنه یا تک تک؟ مثلا برای دریافت premium link ها در نمایش پستها یا لینک آخرین مطالب و... یکباره کوئری میگیره یا برای هر لینک تک تک slug رو دریافت میکنه و لینک رو میسازه؟
13- آیا پورت 43 whois خطری هم داره برای سرور که باز باشه و بزاره ما مشخصات دامین بگیریم؟
قبلا ممنونم :20:
در مورد سوال دوم اين كد رو امتحان كن.اميدوارم منظورت همين باشه:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
من با كد زير مشكل دارم.كسي ميتونه بگه چرا نتيجه 12 ميشه؟(چطور ممكنه هم مثبت باشه هم منفي!:41:)
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام.
1. بله. اگر در دیتابیس integer باشه php هم به عنوان integer می شناسه.
5. امتحان کنید. (من که امتحان کردم، بدون ؟> مشکلی نداشت)
10. من (و نویسندگان بسیاری از cms های مطرح) define رو بیشتر می پسندم.
(قضیه ی "(2 نمره)" چیه؟ سؤالات آزمونه؟)
--------
من با كد زير مشكل دارم.كسي ميتونه بگه چرا نتيجه 12 ميشه؟(چطور ممكنه هم مثبت باشه هم منفي![ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
چرا بعد از هر شرط، break نمی کنید؟!
موفق باشید ./.
چرا بعد از هر شرط، break نمی کنید؟!
متوجه شدم كه اشكال از نگذاشتن break هست:46:ولي چرا بدون break كار نمي كنه؟مگه نبايد هر شرطي رو بررسي كنه ، بعد داخلش رو اجرا كنه؟:41:
سلام.
1. بله. اگر در دیتابیس integer باشه php هم به عنوان integer می شناسه.
5. امتحان کنید. (من که امتحان کردم، بدون ؟> مشکلی نداشت)
10. من (و نویسندگان بسیاری از cms های مطرح) define رو بیشتر می پسندم.
(قضیه ی "(2 نمره)" چیه؟ سؤالات آزمونه؟)
--------
چرا بعد از هر شرط، break نمی کنید؟!
موفق باشید ./.
مورد 5 بعضی ها میگن ?> نزارید توی فایلهای include برنامه سریعتر میشه و تگهای php باز و بسته نمیشن! به این خاطر گفتم.
در مورد 10 اگه قرار باشه array بدین باز هم از define استفاده میکنید!؟
اون 2 نمره هم شوخی بود ولی برای تست مقدماتی استادها بد نیست این موارد البته اگه php تدریس بشه و خود استاد هم بلد باشه.
---------- Post added at 05:19 AM ---------- Previous post was at 05:15 AM ----------
در مورد سوال دوم اين كد رو امتحان كن.اميدوارم منظورت همين باشه:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
من با كد زير مشكل دارم.كسي ميتونه بگه چرا نتيجه 12 ميشه؟(چطور ممكنه هم مثبت باشه هم منفي!:41:)
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
چون یکی یکی شروط رو بررسی میکنه و شما باید بهش بگید کی دست برداره با break
حالا بالاخره 0=0 یا 0>0 ؟؟ من به خاطر همین گفتم این شرطها با 0 مشکل داره!
چون یکی یکی شروط رو بررسی میکنه و شما باید بهش بگید کی دست برداره با break
حالا بالاخره 0=0 یا 0>0 ؟؟ من به خاطر همین گفتم این شرطها با 0 مشکل داره!
خوب من ميخوام كه همه شرط ها رو بررسي كنه و اگه درست بودن داخلش اجرا بشه.(نه اينكه بدون برقرار بودن شرط داخلش اجرا بشه!)
حالا كه نتيجه 12 شده يعني هم 0<0 و هم 0=0:19:
يكي كمك كنه
neopersia
19-09-2011, 10:55
کاش این همه سوال رو در یک تاپیک قرار نمیدادید. بهتر بود دسته بندی میکردید و در چند تاپیک میفرستادید
من نظرم رو در مورد همین چند مورد که مطرح شده میگم.
1- توی دیتابیس یک مقدار intger داریم وقتی کوئری میگیریم آیا به صورت intger برگردانده شده یا string ؟
مثلا در دیتابیس عدد 9 به صورت intger ذخیره شده و ما با عدد 9 به صورت intger باید مقایسه کنیم یا با "9" یا اینکه هر دو تا رو دوباره به intger تبدیل کنیم؟
استرینگ برگردانده میشه اما معمولاً نیازی به تبدیلش به عدد نیست چون php در مقایسه ها این کار رو خودش انجام میده
2- توی switch(){} میشه از شرط استفاده کرد به صورت زیر :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
کد بالا ظاهرا اشکال داره و مقدار صفر و هم تشخیص نمیده!
این کد شما (البته اگر یکی دومورد رو که فکر میکنم موقع نوشتن توی فروم پیش اومده نادیده بگیریم) از نظر سینتکسی مشکلی نداره ولی از نظر منطقی اون کاری رو که شما مد نظر دارید انجام نمیده.
اصولاً برای این کاری که شما مد نظر دارید سوئیچ گزینه مناسبی نیست و باید از if...elseif...else استفاده کنید. کدی که شما نوشتید در عمل تبدیل میشه به این:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
در کدی که شما نوشتید همه اون case ها تبدیل میشه به true یا false. شرط سوئیچ هم تبدیل میشه به معادل بولین خودش و بعد با case ها مقایسه میشه. به جای اینکه در case ها از این عبارات استفاده کنید باید مستقیماً مقادیر مد نظرتون رو برای مقایسه قرار بدید تا درست کار کنه یا اینکه همونطور که گفتم به جای سوئیچ از if و elseif استفاده کنید.
5- اگر فایلهای include رو در آخرشون ?> نزاریم (نبندیم) تاثیری هم داره؟
در سرعت تأثیری نداره اما توصیه میشه وقتی که فایلی فقط php داره و هیچ خروجی هم نداره تگ پایانی استفاده نشه. این کار باعث میشه تا خروجی های ناخواسته مثل علامت پایان خط اضافی و یا اسپیس های اضافی بعد از تگ پایانی وارد کد نشه. در نتیجه از ارورهای Cannot modify header information - headers already sent احتمالی جلوگیری میشه.
کاش این همه سوال رو در یک تاپیک قرار نمیدادید. بهتر بود دسته بندی میکردید و در چند تاپیک میفرستادید
من نظرم رو در مورد همین چند مورد که مطرح شده میگم.
آقا جان من ترسیدم هنوز از راه نرسیده این سوالات رو تکه پاره کنم توی تاپیکها یکی بیاد بهم تشر بزنه ودردسر...
برای همین حوصله نداشتم و همه رو یکجا پرسیدم هر کی هر چی شو میتونه توضیح بده.
همین نوشتن این سوالات کلی وقت گرفت چه برسه به تاپیک تاپیک کردن اما اگه صلاح دونستید با امکانات مدیریتی که دارید هر بخشش که جای بحث داره به تاپیک جدید منتقل کنید.
در مورد نزاشتن ?> روی سرعت پردازش هم تاثیر داره یا فقط به درد جلوگیری از headers already sen میخوره؟
دوستان لطف کنید هر کدوم ازین سوالات رو میدونید توضیح بدین. قبلا ممنونم :10:
خوب من ميخوام كه همه شرط ها رو بررسي كنه و اگه درست بودن داخلش اجرا بشه.(نه اينكه بدون برقرار بودن شرط داخلش اجرا بشه!)
حالا كه نتيجه 12 شده يعني هم 0<0 و هم 0=0:19:
يكي كمك كنه
از همه بابت اينكه تاپيك رو شلوغ كردم عذر مي خوام:11:
فقط اومدم جواب خودمو بدم كسي گمراه نشه يه وقت...
وقتي كه عبارت break رو نمي ذاريم case بعدي «چه شرطش برقرار باشه يا نه» ، دستورش اجرا مي شه.
اگه اشتباه مي كنم بهم بگين.
بله درسته اگه شرط شما بر قرار شد باید خارج بشین و اگه میخواهین برای دو سه حالت یک دستور اجرا بشه به صورت زیر بزارید :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
کاش یکی جواب سوالات من رو هم میداد؟؟
شک دارم تاپیک تاپیکش هم کنم کسی جواب بده!!
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.