Как я могу создать новый массив php из существующего массива, где префикс значений массива используется для определения Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как я могу создать новый массив php из существующего массива, где префикс значений массива используется для определения

Сообщение Anonymous »

Предположим, у меня есть этот массив PHP:

$booklist =

Array
(
[0] => Peppa / Season 2 / 43 The Quarrel / Page 1
[1] => Nursery Rhymes / Wheels On The Bus / Page 1
[2] => Wonderskills / Starter Book 2 / Unit 1 At The Firehouse / Part 3 / Page 3
[3] => Oxford Phonics World / Level 2 Short Vowels / Unit 1 Short A / Page 7
[4] => Peppa / Season 2 / 43 The Quarrel / Page 1
[5] => Nursery Rhymes / Twinkle Twinkle / Page 1
[6] => Wonderskills / Starter Book 2 / Unit 1 At The Firehouse / Part 2 / Page 17
[7] => Oxford Phonics World / Level 1 The Alphabet / Unit 8 / Review W X Y Z / Page 2
[8] => Peppa / Season 2 / 42 Granny And Grandpas Attic / Page 1
[9] => Nursery Rhymes / The Phonics Song / Page 1
[10] => Wonderskills / Starter Book 2 / Unit 1 At The Firehouse / Part 2 / Page 4
[11] => Peter Pan / Level 1 / Page 1
[12] => Peppa / Season 2 / 42 Granny And Grandpas Attic / Page 1
[13] => Nursery Rhymes / The Phonics Song / Page 1
[14] => Donald Duck / Page 19
[15] => Donald Duck / Page 18
[16] => Oxford Phonics World / Level 1 The Alphabet / Unit 8 / Letter Z / Page 2
)

Я хотел бы просмотреть каждый элемент и добавить его в новый массив, ЕСЛИ новый массив еще не содержит элемент с начальным префиксом (первый '/' является разделителем).
Поэтому окончательный массив будет содержать только следующие значения:

$**finalArray **=

Array
(
[0] => Peppa / Season 2 / 43 The Quarrel / Page 1
[1] => Nursery Rhymes / Wheels On The Bus / Page 1
[2] => Wonderskills / Starter Book 2 / Unit 1 At The Firehouse / Part 3 / Page 3
[3] => Oxford Phonics World / Level 2 Short Vowels / Unit 1 Short A / Page 7
[4] => Peter Pan / Level 1 / Page 1
[5] => Donald Duck / Page 19

)

Заранее большое спасибо.
Я пробовал много комбинаций таких вещей, как strpos() и str_starts_with() с array_push(), но просто не могу заставить это работать. В итоге я либо получаю тот же массив, либо пустой массив, либо массив с десятками тысяч элементов.
$finalArray = [];

foreach ($booklist as $book){

foreach($finalArray as $finalItem){

$array = explode(" / ", $book);

$mainBranch = $array[0];

if(0 === strpos($finalItem, $mainBranch){ /// problems in here

array_push($finalArray, $book);

}
}
}



Подробнее здесь: https://stackoverflow.com/questions/783 ... fix-of-the
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»