PHP独立字符串
我有一个包含PHP独立字符串,php,string,split,yii2,Php,String,Split,Yii2,我有一个包含128.82的字符串。我想在100和28.82中拆分/分离它们 var_dump(substr($kwh,0,3)); die(); 它给了我128 如何区分100和28.82 任何帮助都将不胜感激 注意:我之所以设置它,是因为我已经定义了楼板1-100、101-150等等。所以我需要根据板设置它们。板可能不同,因为它可能是1-50,51-100,100-150,等等。因此,我必须对128.82进行拆分,比如50对于1-50,50对于51-100,然后28.82对于
128.82
的字符串。我想在100
和28.82
中拆分/分离它们
var_dump(substr($kwh,0,3));
die();
它给了我128
如何区分100
和28.82
任何帮助都将不胜感激
注意:我之所以设置它,是因为我已经定义了楼板<代码>1-100、101-150等等。所以我需要根据板设置它们。板可能不同,因为它可能是1-50
,51-100
,100-150
,等等。因此,我必须对128.82
进行拆分,比如50
对于1-50
,50
对于51-100
,然后28.82
对于101-150
$input = '128.82'; // we’re doing math here, so actually we’ll be working with numbers,
// but PHP will automatically cast here
$slabs = [50, 100, 150, 200];
$result = [];
$previous_slab = 0;
foreach($slabs as $slab) {
// calculate distance between current and previous slab
$slab_distance = $slab - $previous_slab;
// if current remainder of input value is >= distance, add distance to result,
// and subtract distance from remainder of input
if( $input >= $slab_distance ) {
$result[] = $slab_distance;
$input -= $slab_distance;
}
// otherwise, add remainder as last item of result, and break out of the loop here
else {
$result[] = $input;
break;
}
$previous_slab = $slab;
}
var_dump($result);
给定板的结果:
array (size=3)
0 => int 50
1 => int 50
2 => float 28.82
[50,75,150,200]的结果:
array (size=3)
0 => int 50
1 => int 25
2 => float 53.82
如果要将
128.82
拆分为100
和28.82
您可以这样做:
<?php
function calcSlabSize($size) {
$slab = floor($size / 50)*50;
return [$slab,$size-$slab];
}
print_r( calcSlabSize(128.82));
substr是一个字符串函数,您正在寻找的似乎是一个简单的减法,不是吗?不确定您的目标是什么?您是在寻找一种算法来处理各种数字,还是只针对这一特定的128.82寻找一种解决方案?因为这是基本的数学…您不能单独通过“拆分”来完成,因为
100
不作为输入字符串的一部分存在。这显然也涉及到一点“数学成分”。但是为了让我们能够给出一个正确的答案,你应该给出不止一个例子,分别是。更好地指定此处适用的条件/限制。将板的上边界放入数组-[50、100、150,
]。然后在上面循环,并从输入值中减去当前板值(即当前板与上一个板之间的差值)。如果结果低于零,您知道是时候停止了。正如我在另一个问题中提到的,我有3分slab\u start
,slab\u end
,和rate
。我如何在其中管理它们?这里不需要板的开始值,上面的数组只是板的结束。(所有这些都是在假设你的拍打从1开始,并且是连续的,并且顺序正确的情况下)到目前为止,在你的另一个问题中,速度应该在哪里/如何达到这一点还不清楚。每个板都有一个速度。每个兔子通常有两个耳朵。和那又怎么样?那样的利率会发生什么?如何将其纳入计算?费率用于根据单位计算账单。
Array ( [0] => 100 [1] => 28.82 )