PHP分离两个字符串[已关闭]

hujrc8aj  于 2022-12-02  发布在  PHP
关注(0)|答案(3)|浏览(143)

已关闭。此问题需要更多focused。当前不接受答案。
**想要改进此问题吗?**更新问题,使其仅关注editing this post的一个问题。

昨天关门了。
Improve this question
我需要一个代码从PHP字符串中获取第一个和第二个数字。
$string = "ACCESS_NUMBER:160375356:13176570247"; $stringOne = ""; $stringTwo = "";我需要一个代码,可以获得160375356并将其存储在$stringOne中,还可以获得此13176570247并将其存储在字符串$stringTwo中
我不想计算字符串,我需要一个代码,可以通过这个得到他们:符号

iszxjhcz

iszxjhcz1#

这里已经有很多答案了,但还没有一个真正干净的答案。

<?php 
$string = "ACCESS_NUMBER:160375356:13176570247";
[, $stringOne, $stringTwo] = explode(':', $string);

请参阅:https://3v4l.org/GjOUH

9cbw7uwe

9cbw7uwe2#

这个例子应该会有所帮助

$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

可以使用explode()函数将String分解为数组。根据需要更改数组

aiqt4smr

aiqt4smr3#

您可以通过以下方式实现

<?php 
$string = "ACCESS_NUMBER:160375356:13176570247";
$parts = explode(':', $string);
$stringOne = $parts[1];
$stringTwo = $parts[2];
?>

如果这还不够,其他解决方案将使用regex,但regex解决方案更重。
explode函数有两个参数- delimeter和string。然后遍历string直到找到delimiter。找到delimiter后,它将部分string放入结果数组-从最后一个delimiter(或开始)到这个delimiter,省略delimiter。然后继续遍历直到字符串的结尾-这是最后一次将部分string放入结果数组。
例如对于

explode('#', 'Apple#Banana#Orange')

我们将得到包含三个元素“Apple”、“Banana”和“橙子”的数组-我们可以使用数组索引访问它们。
正则表达式的解决方案更重,因为每个正则表达式实际上都是一个有限状态机。它也遍历字符串,但执行不同类型的操作--可以进行更复杂的匹配。但这也意味着它需要更多的内存和处理器能力来进行计算。
基本的想法是,如果你可以实现的东西与爆炸,子字符串等,然后去与它,如果你不能或你可以,但它将需要复杂的代码,然后去与regex。

相关问题