[英]Splitting String into array and display it by chunk
foreach($files as $file) {
$xname = basename($file['name'],'.jpg');
$tmp = preg_split("/[\s,-]+/",$xname,-1, PREG_SPLIT_NO_EMPTY);
echo "<pre>";
print_r($tmp);
echo "</pre>";
这里是例如串“LR-147-千粒重FLOWER RECT镜框”
我有这行代码将我的字符串拆分为数组。 我想要做的是获取前三个单词“ LR-147-TKW”并将其存储到变量中。 我怎样才能做到这一点? 我的数组输出是0] => BR [1] => 139 [2] => TKW [3] => DRESSER [4] => BUFFET [5] => MIRROR
您可以使用explode() ,这是一些示例:
<?php
$str = 'LR-147-TKW FLOWER RECT MIRROR FRAME';
$parts = explode(' ',$str);
print_r($parts);
/*
Array
(
[0] => LR-147-TKW
[1] => FLOWER
[2] => RECT
[3] => MIRROR
[4] => FRAME
)
*/
$serial_parts = explode('-',$parts[0]);
print_r($serial_parts);
/*
Array
(
[0] => LR
[1] => 147
[2] => TKW
)
*/
$full = array_merge($serial_parts,$parts);
print_r($full);
/*
Array
(
[0] => LR
[1] => 147
[2] => TKW
[3] => LR-147-TKW
[4] => FLOWER
[5] => RECT
[6] => MIRROR
[7] => FRAME
)
*/
?>
这实际上可以为您提供当前输入的技巧。 执行以下代码行后,$ tmp将包含LR-147-TKW:
list($tmp) = explode(' ', $input);
这是因为preg_split("/[\\s,-]+/",...
在可能出现逗号,减号或空格的地方分割您的字符串。将其更改为preg_split("/[\\s,]+/",...)
,它应该给您正确的数组。
请注意,如果这样做,函数将不会拆分WELL-SPOKEN
类的词。 它将成为数组中的一项。
考虑到您的字符串具有相同的模式。
$ str =“ LR-147-TKW花式镜框”;
$ str1 = explode('',$ str);
echo $ str1 [0];
添加到您的代码:
$tmp = array_slice($tmp,0,3);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.