فکر کنم باید اون «غیر» رو حذف کنی!
بعدشم خب اینا چه ربطی به مورد ما داره؟
من بحثم یه چیزی مثل 'hello'==0 هست که هیچ معنی منطقی نمیده و فایده ای در برنامه نویسی نداره که بعکس منشاء مشکل و باگ میشه.
اتفاقا اینکه زبانهای دیگر هم باوجود این شباهت ها، 'hello'==0 رو قبول ندارن نشون میده که این مورد به موارد دیگری که ذکر کردی ربطی نداره و اگر موارد دیگر به اون شکل بود دلیل نمیشه اینطور موارد اینطوری باشه.
بعید میدونم زبان دیگری پیدا کنید که اینطور باشه.برای این مورد که میگی 'hello'==0 باید همه زبان هایی که دینامیک تایپ دارن رو بررسی کرد .
چون از نظر منطقی و فایدهء برنامه نویسی دلیل موجهی براش دیده نمیشه.
شما موردی پیدا کردید خبرمون کنید!
اگر خودتون هم منطق و فایده ای بنظرتون میرسه براش خب مطرح کنید!
من قبلا برای خلافش دلیل آوردم. استدلالهای بنده بنظرتون نادرست بود؟
تاجاییکه یادمه، در سی کاراکتر و رشته دو نوع مجزا هستن.خب الان چرا تو سی وقتی متغیر کاراکتری x رو که توش حرف a داره رو با 97 تست میکنی باید برابر باشه؟ مگه a با 97 برابره؟
حالا a رو میگیم کد اسکیش برایر 97 هست ، ali چی؟
چرا به C این اشکال وارد نیست ولی الان به PHP این اشکال وارده؟
رشته رو که اصلا نمیتونی بصورت مستقیم مقایسه کنی، و باید از توابع مخصوصش برای این کار استفاده کنی (فکر کنم اسم یکیش strcmp بود).
اونم که شما رشتهء ali رو مقایسه کردی نمیدونم عملا تست کردی و جواب میده یا نه، ولی بهرحال مقایسهء رشته با عدد بوسیلهء عملگر == یه چیز استاندارد و مشخص شده و معناداری نیست در زبان سی. احتمالا بخاطر همین فقط کاراکتر اولش رو دیده و به همون صورت تک کاراکتر اولش مقایسه کرده.
بعدم سی خب یک زبان سطح پایین و سیستمی است و مقایسش با زبان سطح بالا و وبی مثل PHP فکر نمیکنم زیاد جالب باشه! بهتره PHP رو با زبانهای هم خانواده و هم سطح خودش مقایسه کنیم. بهرحال سی هم زبان قدیمی ای است و از اون زمان خیلی چیزها بهتر شدن و اضافه شدن و تغییر کردن و سینتاکس و رفتار سی لزوما معیار و اثبات کلی برای تمام زبانها و تمام سطوح و کاربردها و تمام زمانها نیست.
بله دیگه سی کاراکتر رو با عدد، بر اساس کد اسکی کاراکتر مقایسه میکنه. و این در سی خیلی کاربرد داره.مگه a با 97 برابره؟
حالا a رو میگیم کد اسکیش برایر 97 هست
درحالیکه اینطور مقایسه ها در PHP بر اساس کد اسکی نیستن، پس باید یه منطق و فایدهء دیگری داشته باشن.