在一行PHP上构建字符串

时间:2019-06-08 17:16:49

标签: php arrays string

我想构建由-(减号)分隔的数字和字母的组合。即1-R-3。第一个数字存储在名为$ Points的数组中,字母存储在名为$ Color的数组中,最后一个数字存储在名为$ Points2的第三个数组中;

$Points = [1,2,3,4];
$Color = [R,B,V,Y];
$Points = [1,2,3,4];

我希望结果是1-R-1、2-B-2等一行。现在结果输出为:

1

(减号)

R

(减号)

3

$Bind = "-";
$foo = $Points[0] . $Bind . $Points[1];

我试图通过(String)将整数转换为字符串,但是没有用。

有人可以帮我取得一行结果吗?我敢打赌,我想念一些简单的事情!

编辑:数组中的格式不正确,因为我在进行网络抓取时忘记了->纯文本。

/ U

5 个答案:

答案 0 :(得分:3)

$Points = [1,2,3,4];
$Color = ['R','B','V','Y'];

foreach ($Points as $point=>$value) {
    echo $value . '-' . $Color[$point] . '-' . $value . PHP_EOL;
}

请注意,$Color数组中的值必须用引号引起来,以免出错。

答案 1 :(得分:2)

您有两个名为$Points的数组,所以我已将其重命名。

这只是通过使用foreach并使用每个元素的键并使用它来访问同一索引的其他数组来组合三个数组...

$Points = [1,2,3,4];
$Color = ['R','B','V','Y'];
$Points1 = [1,2,3,4];
$bind = "-";

foreach ( $Points as $key => $val ) {
    echo $val.$bind.$Color[$key].$bind.$Points1[$key].PHP_EOL;
}

答案 2 :(得分:1)

您可以使用php join函数。例如:

$results = [];

for ($i = 0; $i < count($Points); $i++) {
    $results[] = join('-', [$Points[$i], $Colors[$i], $Points2[$i]]);
}

// Now you have your combined values in $results array
var_export($results);

答案 3 :(得分:1)

这可能是由于制表符或回车引起的:

<?php


$points = [1,2,3,4];
$colors = ['R','B','V','Y'];

$bind = '-';

$foo = [];

for ($x = 0; $x <= 3; $x++) {
    $foo[$x] = $points[$x].$bind.$colors[$x].$bind.$points[$x]; 
}

foreach($foo as $value) {
  echo $value.'<br>';
}

?>

结果:

1-R-1
2-B-2
3-V-3
4-Y-4

答案 4 :(得分:0)

您可以将数组组合成一个字符串,例如

 <?php


 $Points = [1,2,3,4];
 $Color = ['R','B','V','Y'];
 $Points = [1,2,3,4];
 $result='';

 $bind='-';

 foreach ($Points as $index => $value) {
   $result .= $value .$bind . $Color[$index] . $bind . $value.PHP_EOL;
 }

 echo $result;
 ?>

DEMO