PHP strtok()如果我理解这个权利,请告诉我

乔什·梅耶(Josh Mayer)

这是代码:

<?php
    $string = 'Hey there buddy';
    $token = strtok($string, ' ');
    while($token !== false)
    {
        echo $token."<br/>";
        $token = strtok(' ');
    }
?>

我只是想知道我是否理解这项权利。这是我对strtok()的看法。要使用strtok(),首先,必须将其设置为带有输入字符串(在这种情况下为$ string)和分隔符(在这种情况下为'')的变量(在这种情况下为$ token)。然后,您必须在while循环中再次使用它,但是这次仅指定分隔符而不是输入字符串,因为在我们第一次使用它时,它已经连接到变量$ string。我对吗?

马里奥

是的,通过strtok保留了第一个填充内部缓冲区$string随后返回部分内容;每当您传递它时,都会有一个新字符可以拆分。

您可以使用do / while构造缩短循环:btw:

do {
    echo $token."<br/>";
}
while (is_str($token = strtok(' ')));

但是,这也是缺点strtok由于它在全局内部字符串缓冲区上工作,因此您只能使用一个这样的循环-它不适合并行地分隔子字符串或在另一个缓冲区上同时工作。

尽管当您仅使用一个定界符进行拆分时,您最好还是使用PHPs过度使用的函数:explode

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

PHP 请告诉我如何访问对象键

请帮助我理解这个 PHP hack,我怎样才能绕过这个重新

数据未从PHP发布到MySQL表中。请告诉我我在做什么错

我是php的新手...请告诉我mysql_fetch_array($ n1)的作用和循环作用

有人能告诉我为什么这个简单的 PHP 循环不起作用吗?

如何告诉我的PHP脚本运行Javascript函数?

请告诉我这个 UI 名称是如何命名的

Pascal,请告诉我这个循环是如何工作的

Flutter:这个概念叫什么名字?请告诉我要寻找什么才能更好地理解

一旦告诉我的共享主机,如何告诉Deployer使用不同的PHP版本?

谁能告诉我他们是否在以下PHP代码中看到错误?

有人可以告诉我DateTimeZone :: getOffset PHP函数如何工作吗?

它告诉我在 php 上使用 <td style="color:...;"> 时犯了一个错误

有什么可以告诉我我是用php从我的网站发送的用户正在查看的电子邮件吗?

请告诉我为什么这个对象迭代器只允许记录一次

谁能告诉我这个密码的名称?

如果表为空,请告诉我没有条目

如果有人有解决这种情况的方法,请告诉我

PHP 中的内部连接查询告诉我所有其他的连接查询都这样吗?

为什么我 pyqt5 告诉我这个小部件不存在,如果我知道它存在?

谁能告诉我为什么我的函数在 index.php 中有效,但在 functions.php 中无效?

我正在努力理解 Dagger。有人能告诉我这个 Kodein 实现在 Dagger 中的样子吗?

请告诉我何时在Java中使用getInstance()方法。

请告诉我Range Mex查询的高效算法

请谁能告诉我为什么输出是这样的?(蟒蛇)

请告诉我如何编写nuxt插件'printd'

请告诉我为什么它错了(LCM & GCD)

请告诉我如何制作跟随角色的UI

这个Ecto Constraint Error试图告诉我什么?