用分隔符将字符串分成两半

问题描述 投票:0回答:2

我正在尝试在 PHP 中拆分字符串,但是它并不像在 C# 中那么容易,它似乎有点混乱...

我有一个字符串,看起来像这样:

blahblah1323r8b|7.45

我希望能够像这样访问分割结果:

$var = split_result['leftside'];
$var = split_result['rightside'];

这在 PHP 中容易做到吗?我试图找到一些好的例子,但我见过的例子似乎不是我想要做的,而且有点过于复杂。

php string split delimited
2个回答
12
投票

获取数组:

$array = explode('|', $str);

或者直接获取两部分:

list($left, $right) = explode('|', $str);

请参阅 PHP 手册中的

explode


0
投票

PHP 采用了 C 语言函数

sscanf()
来解析可预测格式的字符串,并且它能够将数值转换为整数/浮点类型(
explode()
本身无法做到这一点)。

根据您的需求进行一些实现:(演示

  1. 返回一个数组:

    var_export(
        sscanf($str, '%[^|]|%d')
    );
    

    输出:

    array (
      0 => 'blahblah1323r8b',
      1 => 7,
    )
    
  2. 创建单个变量:

    sscanf($str, '%[^|]|%d', $left, $right);
    var_dump($left, $right);
    

    输出:

    string(15) "blahblah1323r8b"
    int(7)
    
  3. 创建关联数组:

    [$key, $result[$key]] = sscanf($str, '%[^|]|%d');
    var_export($result);
    

    输出:

    array (
      'blahblah1323r8b' => 7,
    )
    
© www.soinside.com 2019 - 2024. All rights reserved.