Php 从数组中筛选字符串
我试过这个:-Php 从数组中筛选字符串,php,Php,我试过这个:- function sum_array($arr_sum){ $string= ""; $length= count($arr_sum); $sum= NULL; if(is_string($arr_sum)){ echo "You cannot use string"; }else{ for($i=0; $i&
function sum_array($arr_sum){
$string= "";
$length= count($arr_sum);
$sum= NULL;
if(is_string($arr_sum)){
echo "You cannot use string";
}else{
for($i=0; $i<$length; $i++){
$sum = $sum + $arr_sum[$i];
}
echo " The Sum is ". $sum;
}
}
$array_summation=["string",12.6,25.2,10,12];
sum_array($array_summation);
函数和数组($arr\u sum){
$string=“”;
$length=计数($arr_sum);
$sum=NULL;
如果(是字符串($arr_sum)){
回显“您不能使用字符串”;
}否则{
对于($i=0;$i用于获取数组中每个值的类型-
$type = array_map('gettype', $array_summation);
if (!empty($type) && in_array('string', $type) {
echo "You can't use string.";
}
试试这个
function sum_array($arr_sum){
$sum = 0;
foreach($arr_sum as $value){
if(!is_numeric($value)){
echo 'Array Contain non numeric data';
exit;
}
$sum += $value;
}
echo 'The sum is '.$sum;
}
$array_summation=["string",12.6,25.2,10,12];
sum_array($array_summation);
PHP有一个内置函数,它忽略非数字字符串
$arr = [1,2,'3','apple'];
var_dump(array_sum($arr)); // int(6)
或者,如果您确实需要它们来产生错误,您可以使用:
或者,如果要确保数组中的所有值都是浮点或整数,而不是数字字符串,则可以执行以下操作:
function is_non_string_number($n) {
return is_float($n) || is_int($n);
}
function sum_array($arr) {
if (array_sum(array_map('is_non_string_number', $arr)) !== count($arr)) {
echo "You cannot use string";
return;
}
echo array_sum($arr);
}
sum_array([1,2,'3','apple']); // You cannot use string
sum_array([1,2,'3','5.2']); // You cannot use string
sum_array([1,2,3]); // 6
感谢为meThanks工作为meThis工作只检查数组中第一个元素的类型,而忽略其余元素。此外,您还缺少'gettype'
@jitendrapurohit的引号。如果有人将对象或其他数组作为值,该怎么办?这就是为什么我使用return is_float($n)| is_int($n);
在我的答案中。OP给出了一个数组的示例,用于验证它。感谢为meNote工作。这将允许,例如“3.5”
。如果您不允许,只允许整数或浮点数,请告诉我,我将更新答案。是的,请指定这种情况also@MughalGee已更新。您应该接受答案
function is_non_string_number($n) {
return is_float($n) || is_int($n);
}
function sum_array($arr) {
if (array_sum(array_map('is_non_string_number', $arr)) !== count($arr)) {
echo "You cannot use string";
return;
}
echo array_sum($arr);
}
sum_array([1,2,'3','apple']); // You cannot use string
sum_array([1,2,'3','5.2']); // You cannot use string
sum_array([1,2,3]); // 6