white tower
جمعه 25 اردیبهشت 1394, 17:01 عصر
با درود
مشکلم رو توضیح میدم.اگر طولانی شد بخاطر اینه که می خوام متوجه بشید.
من می خوام یه سری اطلاعات از یه سایت فارسی خارج کنم.البته کپی برداری و این حرفا نیست.خیالتون راحت.اطلاعات دریافتی فارسیه و همه چی بخوبی انجام میشه.مشکل در رشته دریافتی مربوط به نام ماه است.تاریخ رو بصورت 09 اردیبهشت 94 درج کردن بطور مثال.من رشته رو می گیرم و با explode قسمتهاش رو جدا می کنم و وقتی نام ماه رو چاپ می کنم اردیبهشت چاپ میشه.حالا می خوام همین مقدار رشته ای رو به عدد متناظر با رشته ماه که همون 2 باشه تبدیل کنم.رشته رو به یه تابع که توش یه سری if گذاشتم ارسال می کنم و با این کد
if(!strcmp($var, 'اردیبهشت')){
return '2';
}
بررسی می کنم که اگر مقدار برابر بود عدد متناظرش رو برگردونه.مقادیر درست ارسال می شه ولی هیچ کدوم از if ها برای هیچ نام ماهی مقدار برنمی گردونن.
این تابع مربوط به تبدیل نام ماه به عددش که خلاصه اش رو گذاشتم
function to_int_months($var){
if(!strcmp($var,'فروردين')){
return '1';
}
if(!strcmp($var,'اردیبهشت')){
return '2';
}
.
.
.
وقتی کد زیر اجرا میشه مقدار رشته نام ماه چاپ میشه و جلوش هیچی نمیاد یعنی تبدیل نشده(باید عدد متناظرش چاپ بشه).وقتی نام ماه چاپ شده رو به عنوان پارامتر ارسال می کنم به تابع مقدار متناظرش برمی گرده و 2 بطور مثال چاپ میشه.
echo $arr[1].'=-='.to_int_months($arr[1]);
میشه راهنمایی کنید که کجای کارم مشکل داره یا چطوری می تونم این کار رو انجام بدم یعنی تبدیل رشته ماه فارسی به عدد متناظرش.
ممنون
مشکلم رو توضیح میدم.اگر طولانی شد بخاطر اینه که می خوام متوجه بشید.
من می خوام یه سری اطلاعات از یه سایت فارسی خارج کنم.البته کپی برداری و این حرفا نیست.خیالتون راحت.اطلاعات دریافتی فارسیه و همه چی بخوبی انجام میشه.مشکل در رشته دریافتی مربوط به نام ماه است.تاریخ رو بصورت 09 اردیبهشت 94 درج کردن بطور مثال.من رشته رو می گیرم و با explode قسمتهاش رو جدا می کنم و وقتی نام ماه رو چاپ می کنم اردیبهشت چاپ میشه.حالا می خوام همین مقدار رشته ای رو به عدد متناظر با رشته ماه که همون 2 باشه تبدیل کنم.رشته رو به یه تابع که توش یه سری if گذاشتم ارسال می کنم و با این کد
if(!strcmp($var, 'اردیبهشت')){
return '2';
}
بررسی می کنم که اگر مقدار برابر بود عدد متناظرش رو برگردونه.مقادیر درست ارسال می شه ولی هیچ کدوم از if ها برای هیچ نام ماهی مقدار برنمی گردونن.
این تابع مربوط به تبدیل نام ماه به عددش که خلاصه اش رو گذاشتم
function to_int_months($var){
if(!strcmp($var,'فروردين')){
return '1';
}
if(!strcmp($var,'اردیبهشت')){
return '2';
}
.
.
.
وقتی کد زیر اجرا میشه مقدار رشته نام ماه چاپ میشه و جلوش هیچی نمیاد یعنی تبدیل نشده(باید عدد متناظرش چاپ بشه).وقتی نام ماه چاپ شده رو به عنوان پارامتر ارسال می کنم به تابع مقدار متناظرش برمی گرده و 2 بطور مثال چاپ میشه.
echo $arr[1].'=-='.to_int_months($arr[1]);
میشه راهنمایی کنید که کجای کارم مشکل داره یا چطوری می تونم این کار رو انجام بدم یعنی تبدیل رشته ماه فارسی به عدد متناظرش.
ممنون