تابع isValidCity در api

پرسیده شده
فعالیت 1276 روز پیش
دیده شده 641 بار
0

سلام دوستان عزیز.
توی تابع isValidCity داریم:

function isValidCity($data){
    if(empty($data['province_id']) or !is_numeric($data['province_id']))
        return false;
    ...
}

اما وقتی اطلاعات رو در بدنه به این شکل ارسال میکنم:

{ 
    "province_id" : "10",
    "name" : "amir-city" 
}

جواب میده و شهر ایجاد میشه.
آیا شرط is_numeric درست چک نمیشه یا من جایی رو درست متوجه نشدم؟

فایل پیوست

امیرحسین شکری
امیرحسین شکری

12 آبان 99

1
حذف شده

سلام و احترام

عددی که داخل رشته باشه به همین شکلی که در کد شما وجود داره "10"، تابع is_numeric این رو یک عدد در نظر میگیره و خطایی برای این بر نمیگردونه و کد شما به درستی کار میکنه. 

اگه چیز دیگه ای بود بگید من در خدمتم، موفق باشید.

فایل پیوست

امیر صالحی

توسط

امیر صالحی

12 آبان 99

حذف شده
سپاس امیر جان. برای مواقعی که بخوایم صددرصد int باشه باید از is_int استفاده کنیم؟ و اینکه فکر نمیکنم در api ها این حد از دقت لازم باشه و همون is_numeric جواب میده. درسته؟
امیرحسین شکری

12 آبان 99

حذف شده
خواهش میکنم، چیزی که مهمه اینکه حواستون باشه داده‌ی خطرناکی وب سرویس شما رو تحدید نکنه
امیر صالحی

12 آبان 99