উত্তর:
$str = ltrim($str, '0');
(string)((int)"00000234892839")
(int) "00009384783473"(এলোমেলো সংখ্যা) চেষ্টা করেছি এবং আমার ফলাফলটি ছিল 2147483647 I তবে আমি যদি এটি একটি ফ্লোট হিসাবে কাস্ট করি তবে এটি ঠিক আছে বলে মনে হচ্ছে। অদ্ভুত
লোকেরা কেন এত সাধারণ জিনিস অর্জনের জন্য এত জটিল পদ্ধতি ব্যবহার করছে জানি না! এবং রেজেক্স? কি দারুন!
আপনি এখানে যান, সবচেয়ে সহজ এবং সহজ উপায় (এখানে ব্যাখ্যা হিসাবে: https://nabtron.com/kiss-code/ ):
$a = '000000000000001';
$a += 0;
echo $a; // will output 1
অন্য একটি পরামর্শের মতো, প্রকৃত শূন্যকে বাদ দেবে না:
if (ltrim($str, '0') != '') {
$str = ltrim($str, '0');
} else {
$str = '0';
}
বা প্রস্তাবিত হিসাবে (পিএইচপি 5.3 হিসাবে), শর্টহ্যান্ড টার্নারি অপারেটর ব্যবহার করা যেতে পারে:
$str = ltrim($str, '0') ?: '0';
$str = ltrim($str, '0') ?: '0'; - নিরর্থক ট্রিম কল নেই।
আপনি আপনার চলকটিতে "+" যুক্ত করতে পারেন,
উদাহরণ:
$numString = "0000001123000";
echo +$numString;
রেজেক্স ইতিমধ্যে প্রস্তাবিত হয়েছিল, তবে সঠিকভাবে নয়:
<?php
$number = '00000004523423400023402340240';
$withoutLeadingZeroes = preg_replace('/^0+/', '', $number)
echo $withoutLeadingZeroes;
?>
আউটপুট তখন হয়:
4523423400023402340240
রেজেক্সে ব্যাকগ্রাউন্ড: ^স্ট্রিংয়ের সূচনা সংকেত এবং +সাইন সিগন্যালগুলি পূর্ববর্তী চিহ্নগুলির বেশি বা কোনওটিই নয়। সুতরাং, রেজেক্স ^0+একটি স্ট্রিংয়ের শুরুতে সমস্ত শূন্যের সাথে মেলে।
preg_replace() expects at least 3 parameters, 2 given
আমি মনে করি না পূর্ববর্তী স্থানটি উত্তর .. পুরাতন থ্রেড তবে আজ এটি সন্ধানের জন্যই ঘটে। ltrim এবং (int) ingালাই বিজয়ী।
<?php
$numString = "0000001123000";
$actualInt = "1123000";
$fixed_str1 = preg_replace('/000+/','',$numString);
$fixed_str2 = ltrim($numString, '0');
$fixed_str3 = (int)$numString;
echo $numString . " Original";
echo "<br>";
echo $fixed_str1 . " Fix1";
echo "<br>";
echo $fixed_str2 . " Fix2";
echo "<br>";
echo $fixed_str3 . " Fix3";
echo "<br>";
echo $actualInt . " Actual integer in string";
//output
0000001123000 Origina
1123 Fix1
1123000 Fix2
1123000 Fix3
1123000 Actual integer in tring
আমি এইভাবে স্থির।
এটা খুবই সাধারণ. কেবল একটি স্ট্রিং পাস করুন এটির স্ট্রিংয়ের শূন্য প্রারম্ভটি।
function removeZeroString($str='')
{
while(trim(substr($str,0,1)) === '0')
{
$str = ltrim($str,'0');
}
return $str;
}
অজয় কুমার সহজ প্রতিধ্বনি + $ num স্ট্রিং সরবরাহ করেন; আমি এগুলি ব্যবহার করি:
echo round($val = "0005");
echo $val = 0005;
//both output 5
echo round($val = 00000648370000075845);
echo round($val = "00000648370000075845");
//output 648370000075845, no need to care about the other zeroes in the number
//like with regex or comparative functions. Works w/wo single/double quotes
প্রকৃতপক্ষে কোনও গণিতের ফাংশন "স্ট্রিং" থেকে নম্বরটি নেবে এবং এর মতো আচরণ করবে treat এটি কোনও রেজেক্স বা তুলনামূলক ফাংশনগুলির তুলনায় অনেক সহজ। আমি php.net এ দেখেছি, মনে নেই কোথায়।
ধরে নিচ্ছেন আপনি তিন বা ততোধিক জিরো অপসারণ করতে চান এবং আপনার উদাহরণটি একটি স্ট্রিং:
$test_str ="0002030050400000234892839000239074";
$fixed_str = preg_replace('/000+/','',$test_str);
আমার অনুমানগুলি বন্ধ থাকলে আপনি কী প্রয়োজন তা আপনি রেজেক্স প্যাটার্নটিকে ফিট করতে পারেন।
এই সাহায্য?
<br>সংখ্যাগুলি পৃথক করে ট্যাগ করেছেন; তারা আসলে আপনার স্ট্রিং অংশ?