一个PHP算法方面的计算题。

<?php
aaa    =    trim(request("aaa"))
bbb    =    trim(request("bbb"))
ccc    =    trim(request("ccc"))
ddd    =    trim(request("ddd"))
eee    =    trim(request("eee"))
fff    =    trim(request("fff"))
ggg    =    trim(request("ggg"))
hhh    =    trim(request("hhh"))
。。。。。。。。。。
。。。。。。。。。。
?>

如何用PHP快速计算出本页面到底接收了几个不为空的参数?,并把参数个数及参数值逐一echo出来。

(注意:这些参数中,如果是带有半角逗号或空格时,需要按照多参数来计算。并用explode拆分开,也逐一echo出来测试一下)

阅读 3k
2 个回答
<?php

foreach ($_REQUEST as $key => $value) {
    if (trim($value)) {
        $values = preg_split("/[\s,]+/", $value);
        foreach ($values as $v) {
            echo $v . '\n';
        }
    }
}

这个和算法有关系吗?

<?php
$_REQUEST = ['a' => 'a,b,c', 'b' => '', 'c' => 'a,d c0 ,0'];
$arr = [];
foreach($_REQUEST as $v) {
    $v = str_replace(" ", ',', $v);
    $v = trim($v, ' ,');
    $v = explode(',', $v);
    foreach($v as $_v) {
        $_v = trim($_v);
        if (strlen($_v)) $arr[] = $_v;
    }
}
print_r($arr);
echo count($arr);
/*
Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => a
    [4] => d
    [5] => c
    [6] => c0
    [7] => 0
)
8
*/
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题