• 1 رای - 2 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
جدا کردن رشته ؟ نظر شما چیه؟
#1
سلام
من کدی نوشتم که تو دیتابیس یکی از موارد زیر رو مینویسه(اعداد 1 تا 4 را ترکیب میکنه)
1
2
3
4
12
13
14
23
24
34
1234
بعد سعی کردم که وقتی این اعداد از db خونده میشه بجای عدد یه حرف چاپ بشه
1 خونده بشه a
b 2
.
.
abcd 1234
اما از هر راهی رفتم جوای نداد. while ,explode,....
نظر شما چیه؟
(البته میتونستم با switch بنویسم .ولی کنجکاو شدم بدونم راه بهتری هم داره
  پاسخ
تشکر شده توسط :
#2
از اونجا که برنامه باید تصمیم بگیره روی مقادیر بهترین کار استفاده از SWITCH است مگه اینکه یه تابع باشه توی PHP که این کار رو انجام بده
کد پی‌اچ‌پی:
function n2c($num$lower=true)
{
    
$str '';
    for(
$i=0$i<strlen($num); ++$i)
        switch(
$num[$i]){
            case 
'1':
                
$str .= $lower 'a' 'A';
                break;
            case 
'2':
                
$str .= $lower 'b' 'B';
                break;
            case 
'3':
                
$str .= $lower 'c' 'C';
                break;
            case 
'4':
                
$str .= $lower 'd' 'D';
                break;
        }
    return 
$str;

  پاسخ
تشکر شده توسط :
#3
یک سوال داشتم:
تو خط :
کد پی‌اچ‌پی:
for($i=0$i<strlen($num); ++$i
نباید بعد از () یک } باز کنیم؟
  پاسخ
تشکر شده توسط :
#4
سلام راهی دیگه ای نداره؟اگه 12 بود چی ؟
اگه 34 بود چی؟
یعنی برای همش برنامه بنویسم؟
(۱۳۸۸ خرداد ۲۲, ۰۴:۲۱ ب.ظ)P30TiP نوشته: یک سوال داشتم:
تو خط :
کد پی‌اچ‌پی:
for($i=0$i<strlen($num); ++$i
نباید بعد از () یک } باز کنیم؟

نه
  پاسخ
تشکر شده توسط :
#5
یه ارایه تعریف کن که اندیسش همین اعداد باشه و مقدارش همان حروف .
میشه یه ارایه 4 عنصری از 1 تا 4 که داخل هر عنصر معادل حروف انگلیسیش قرار داره .

حالا اون اعدادی که از بانک اطلاعاتی خوندی رو تبدیل به رشته می کنی و هر عنصر رو با معادلش در ارایه عوض می کنی .
  پاسخ
تشکر شده توسط :
#6
نقل قول:نباید بعد از () یک } باز کنیم؟
ضروری نیست چون توی حلقه فقط یک دستور اجرا می شود
نقل قول:سلام راهی دیگه ای نداره؟اگه 12 بود چی ؟
اگه 34 بود چی؟
یعنی برای همش برنامه بنویسم؟
این تابع برای هر ترکیبی از اعدا 1 تا 4 جواب میده
می تونید اون گسترش هم بدید

نقل قول:یه ارایه تعریف کن که اندیسش همین اعداد باشه و مقدارش همان حروف .
میشه یه ارایه 4 عنصری از 1 تا 4 که داخل هر عنصر معادل حروف انگلیسیش قرار داره .
حسین عزیز هم دزست می گه:
کد پی‌اچ‌پی:
function n2c($num)
{
    
$my_array = array(
        
1=>'a',
        
2=>'b',
        
3=>'c',
        
4=>'d');
    
$str '';
    for(
$i=0$i<strlen($num); ++$i)
        
$str .= $my_array((int)$num[$i]);

    return 
$str;

اما می بینید که تفاوت زیادی وجود نداره
  پاسخ
تشکر شده توسط : P30TiP


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان