Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用带有多个空格的选项分解字符串_Php_String_Explode - Fatal编程技术网

Php 使用带有多个空格的选项分解字符串

Php 使用带有多个空格的选项分解字符串,php,string,explode,Php,String,Explode,我正在使用旧的PHP4和Bambalam来为我的一个服务器创建一个系统,以便将一些简单的数据传递给服务器。但有些数据中有空格,这与我迭代设置的方式不符,我也不太清楚该怎么做。我在IRC上被告知不要使用正则表达式,我被告知这会很慢(?) 这是我当前从PHPCMD行获取选项时使用的方法,在此之后,我检查并仅使用有效键 if( $argc == 1 ) { print $usage; exit; } $arguments = array(); while( list($nr, $v

我正在使用旧的PHP4和Bambalam来为我的一个服务器创建一个系统,以便将一些简单的数据传递给服务器。但有些数据中有空格,这与我迭代设置的方式不符,我也不太清楚该怎么做。我在IRC上被告知不要使用正则表达式,我被告知这会很慢(?)

这是我当前从PHPCMD行获取选项时使用的方法,在此之后,我检查并仅使用有效键

if( $argc == 1 ) {
    print $usage;
    exit;
}

$arguments = array();

while( list($nr, $val) = each($argv) ) {
    if( $nr > 0 ) {
        $val = strtolower($val);
        if ( $val == 'help' ) {
            print $usage;
            exit;
        }
        $arguments[] = explode(' ', trim($val));

    }
}

$settings = array();

foreach ( $arguments as $argument ) {
    $set = explode('=', $argument[0]);
    $settings[str_replace('-','',$set[0])] = $set[1];
}

数组过滤器可用于在分解后去除空值。你对哪一部分特别有意见?不,正则表达式虽然比字符串比较慢,但速度并不明显慢。你能给出一些示例值,让我们了解发生了什么吗?你的预期结果是什么?什么是IRC<代码>\h+应该可以在每个水平空间进行拆分,将倍数视为一。想象一下这样的命令
sender-h=localhost-p=1350-m=内存越来越少所以我仍然尝试按选项拆分,但得到多个字符串,包括空格。因为这是PHP4,所以我无法访问
getopt()
或其他不太重要的内容,但我导入的这个类也无法处理名称中带有空格的文件夹