Построить строку в одну строку PHP - PullRequest
1 голос
/ 08 июня 2019

Я хочу построить комбинацию цифр и букв, разделенных - (знак минус).т.е. 1-р-3.Первое число находится в массиве с именем $ Points, буквы хранятся в массиве с именем $ Color, а последнее число находится в третьем массиве с именем $ Points2;

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

Я хочу, чтобы результат был одинодин ряд 1-р-1, 2-б-2 и тд.Теперь результат выводится как:

1

(знак минус)

R

(знак минус)

3 `

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

Я пытался преобразовать целое число в строку с помощью (String), но не сработало.

Может ли кто-нибудь помочь мне получить результат в одну строку?Могу поспорить, что я упускаю что-то простое!

РЕДАКТИРОВАТЬ: формат в массивах, где неверно, так как я забыл -> открытый текст, когда я делаю очистку веб-страниц.

/ U

Ответы [ 5 ]

3 голосов
/ 08 июня 2019
$Points = [1,2,3,4];
$Color = ['R','B','V','Y'];

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

Обратите внимание, что значения в массиве $Color должны быть в кавычках, чтобы избежать ошибок.

2 голосов
/ 08 июня 2019

У вас есть два массива с именем $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;
}
1 голос
/ 08 июня 2019

Это может происходить из-за вкладок или возврата каретки:

<?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

1 голос
/ 08 июня 2019

Вы можете использовать функцию 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);
0 голосов
/ 08 июня 2019

Вы можете объединить массив в одну строку, как

 <?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;
 ?>

ДЕМО

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...