Получить значение массива в диапазоне на основе индекса в PHP - PullRequest
0 голосов
/ 09 января 2019

Я хочу получить 1-3 значения массива, но включить '.' каждый раскол Пример есть текст = "no.this.is.just.example" я хочу взять только 0-2 индекса, поэтому $ merge будет "no.this.is"

Я пытался

$cut = 3;
$text = explode('.',"no.this.is.just.example");

for($i=0; $i<$cut;$i++){
   if($cut-1==$i){
     $merge .= $text[$i];
   }
   else{
     $merge .= $text[$i].'.';
   }
}

Есть ли самый простой способ сделать это?

Ответы [ 3 ]

0 голосов
/ 09 января 2019

Другим вариантом может быть передача $cut в качестве третьего параметра для взрыва doc . Возвращенный массив будет содержать максимум элементов предела с последним элементом, содержащим остаток строки , поэтому добавьте 1 к пределу.

Затем используйте array_slice doc , чтобы получить нужную часть.

$cut = 3;
$text = explode('.',"no.this.is.just.example", $cut + 1);
echo implode('.', array_slice($text, 0, $cut));

Результат

no.this.is
0 голосов
/ 09 января 2019

while - это самый простой тип цикла в PHP. Они ведут себя так же, как их коллеги С.

$cut = 3;
$text = explode('.',"no.this.is.just.example");
while($cut > 0) {
  $merge .= $text[$i].'.';
  $cut--;
}
0 голосов
/ 09 января 2019

Вы можете полностью избежать цикла, используя комбинацию array_slice и implode .

$cut = 3;
$text = explode('.', 'no.this.is.just.example');

echo implode('.', array_slice($text, 0, $cut)); 

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