محمود
6 ماه پیش توسط محمود مطرح شد
4 پاسخ

جدا سازی اعداد کد ملی

سلام وقت بخیر
لطفا راهنماییم کنید
بنده میخوام کد ملی رو جداسازی کنم هر عدد کد ملی ضرب بشه با یه عددی

مثال : 1757510123
1 ضربدر 10
7 ضربدر 20
5 ضربدر 30
7 ضربدر 40
5 ضربدر 50
1 ضربدر 60
0 ضربدر 70
و ......
بعد همه رو باهم جمع کنه و خروجی بده
ممنون میشم راهنماییم کنید


ثبت پرسش جدید
محمد رضا
تخصص : Full Stack Developer
@salar.mohammad2013 6 ماه پیش مطرح شد
0

شما کجا رو متوجه نشدید من خدمت شما مجدد توضیح بدم
روش دوم و اول یکیه
هر دو رقم سمت راست رو بر میدارن یه جا ذخیره میکنن و بعد از عدد اصلی حذفش میکنن
فقط روش اول نوع داده ای عدد هست که با تقسیم و باقی مانده این عملیات رو انجام دادیم
روش دوم نوع داده ای رشته و متن هست که با توابع مربوط به خودش این کار رو کردیم
توی روش دوم قطعه کد زیر رقم سمت راست رو بهت میگه چیه فقط

$lastChar = substr($number, -1);

بعد که رقم رو فهمیدی و ذخیرش کردی حالا از رشته اصلی با کد زیر حذف میکنیش

$number = substr_replace($number ,"", -1);

همین دو خط
هم عدد رو داری هم حذفش کردی
فقط شما باید برا خودت یه ارایه ایجاد کنی هر بار عددی که حذف میکنی بریزی تو ارایه
و یه حلقه داشته باشی که تا زمانی که رشته طولی داره و تموم نشده همه عدداش حذف نشدن این کار رو ادامه بدی
و در پایان از ارایه استفاده کنی و هر عملیاتی که مد نظرت هست رو پیاده کنی روش

خود کد رو که نمیشه دوستان انجام بدن در اختیارت قرار بدن
اینجا برای رفع مشکل هست و توضیح و راهنمایی و خطا یابی
شما سوالت بیشتر به انجام تمرین دانشگاهی میخوره و درسی و متاسفانه خودت ضرر میکنی با دریافت اینجور کد ها و تمارین از افراد
لطفا بیشتر توجه کن به راهنمایی و کدی که دادم و سعی کن کدش رو بنویسی


محمد رضا
تخصص : Full Stack Developer
@salar.mohammad2013 6 ماه پیش مطرح شد
0

سلام دوست عزیز
شما دو روش داری برای انجام این موضوع
روش اول استفاده از امکانات ریاضی و اعداد هست که چون کد ملی تعداد ارقامش زیاده معمولا عدد ذخیره نمیکنن که بخوان از این روش استفاده کنن اما توضیحش میدم
شما در ریاضی اگر عددی رو بر 10 تقسیم کنی یعنی سمت راست ترین رقم رو حذف کردی از اون عدد اصلی و باقی مونده ی این تقسیم میشه خود اون رقمی که حذف شده
مثلا در تقسیم عدد 12345 بر عدد 10 ، باقی مانده میشه 5 و خارج قسمت که جواب تقسیم ما هست میشه 1234
شما با تکرار این عمل توی حلقه for یا while میتونی ارقام رو جدا کنی به راحتی

روش دوم استفاده از توابع مربوط به رشته هست
شما یه رشته داری و کاراکتر اول یا اخرش رو به ترتیب حذف میکنی
با استفاده از متد substr میایی اخرین کاراکتر رو واکشی میکنی و با استفاده از متد substr_replace اخرین کاراکتر رو حذف میکنی
کد زیر رو ببین

<?php
$number = "123456789";
echo "my number :". $number . "<br>";

$lastChar = substr($number, -1);
echo 'last char removed:' . $lastChar . "<br>";

$number = substr_replace($number ,"", -1);
echo 'my number after remove : ' . $number . "<br>";

?>

این کارو تا زمانی که رشته تموم نشده ادامه میدی فقط باید حواست باشه قبل ضرب کردن تبدیلش کنی به عدد ، از متد intval میتونی استفاده کنی


محمود
@mkh8586 6 ماه پیش مطرح شد
0

ممنون از راهنمایی
روش دوم رو میتونید کاملتر بهم بگید یا کدشو بفرستید ؟


محمد رضا
تخصص : Full Stack Developer
@salar.mohammad2013 6 ماه پیش مطرح شد
0

شما کجا رو متوجه نشدید من خدمت شما مجدد توضیح بدم
روش دوم و اول یکیه
هر دو رقم سمت راست رو بر میدارن یه جا ذخیره میکنن و بعد از عدد اصلی حذفش میکنن
فقط روش اول نوع داده ای عدد هست که با تقسیم و باقی مانده این عملیات رو انجام دادیم
روش دوم نوع داده ای رشته و متن هست که با توابع مربوط به خودش این کار رو کردیم
توی روش دوم قطعه کد زیر رقم سمت راست رو بهت میگه چیه فقط

$lastChar = substr($number, -1);

بعد که رقم رو فهمیدی و ذخیرش کردی حالا از رشته اصلی با کد زیر حذف میکنیش

$number = substr_replace($number ,"", -1);

همین دو خط
هم عدد رو داری هم حذفش کردی
فقط شما باید برا خودت یه ارایه ایجاد کنی هر بار عددی که حذف میکنی بریزی تو ارایه
و یه حلقه داشته باشی که تا زمانی که رشته طولی داره و تموم نشده همه عدداش حذف نشدن این کار رو ادامه بدی
و در پایان از ارایه استفاده کنی و هر عملیاتی که مد نظرت هست رو پیاده کنی روش

خود کد رو که نمیشه دوستان انجام بدن در اختیارت قرار بدن
اینجا برای رفع مشکل هست و توضیح و راهنمایی و خطا یابی
شما سوالت بیشتر به انجام تمرین دانشگاهی میخوره و درسی و متاسفانه خودت ضرر میکنی با دریافت اینجور کد ها و تمارین از افراد
لطفا بیشتر توجه کن به راهنمایی و کدی که دادم و سعی کن کدش رو بنویسی


محمود
@mkh8586 6 ماه پیش مطرح شد
1

دستت درد نکنه کاملا متوجه شدم . انجام دادم تشکر


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام