|
Страници по тази тема: 1 | 2 | (покажи всички)
Тема
|
премахване на ЕДИН елемент от масив
|
|
Автор |
Viper X (just a snake...) |
Публикувано | 15.09.05 17:11 |
|
ако имаме масив от числа (който използваме като множество), как според вас е по-правилно да се изключи едно число от масива? с цикъл по всички елементи и проверка, като се прехвърлят в нов масив всички елементи, без изключвания, или с array_diff($array, array($toExclude)) ?
| |
Тема
|
Re: премахване на ЕДИН елемент от масив
[re: Viper X]
|
|
Автор | бaтeнцe (Нерегистриран) |
Публикувано | 15.09.05 17:20 |
|
unset(array_search($chisloto, $masiva))
| |
|
Направил си един дребен пропуск, а именно:
unset($masiva[array_search($chisloto, $masiva)]);
А и това ще премахне само първото съвпадение, а не съм сигурен Viper X дали иска да изчезне първото или последното или изобщо всички съвпадения.
Everything louder than everything else...Редактирано от Dakota на 15.09.05 18:12.
| |
Тема
|
един елемент или една стойност?
[re: Viper X]
|
|
Автор |
Dakota (erotoman) |
Публикувано | 15.09.05 18:07 |
|
Аз бих го направил с цикъл - по-простичко ми се струва. Но пък и с array_diff() решението изглежда елегантно, макар че може би ще е мъъъничко по-бавно.
Във всеки случай и двата варианта запазват ключовете.
А като гледам си написал с големи букви, че искаш да изчезне един елемент, което е различно от това да махнеш всички елементи с дадена стойност.
Everything louder than everything else...Редактирано от Dakota на 15.09.05 18:14.
| |
Тема
|
Re: премахване на ЕДИН елемент от масив
[re: бaтeнцe]
|
|
Автор |
Bълk (умора няма) |
Публикувано | 15.09.05 18:10 |
|
unset($masiva[array_search($chisloto, $masiva)])
| |
Тема
|
Re: почти
[re: Dakota]
|
|
Автор | бaтeнцe (Нерегистриран) |
Публикувано | 15.09.05 18:17 |
|
хапсолютно правилна забележка
| |
Тема
|
Re: премахване на ЕДИН елемент от масив
[re: Viper X]
|
|
Автор |
тoшo (да бе да) |
Публикувано | 16.09.05 00:56 |
|
един елемент или едно число? щото то числото може да го има няколко пъти, както се спомена по-горе. ако не е уникално и искаш да махнеш точно това число, колкото и пъти да се съдържа, най-лесно ми се види с array_flip() и после unset($flipped[$chislo])
| |
Тема
|
Re: премахване на ЕДИН елемент от масив
[re: Viper X]
|
|
Автор |
Bълk (умора няма) |
Публикувано | 16.09.05 01:14 |
|
абе .. май доста глупости си наприказвахме ....
array_diff ти върши работа но за всички елементи от втори които не са в първи
| |
Тема
|
Re: един елемент или една стойност?
[re: Dakota]
|
|
Автор |
Viper X (just a snake...) |
Публикувано | 16.09.05 12:27 |
|
значи, уточнил съм че става дума за масив-множество, т.е. в него всяка стойност присъства по веднъж максимум
| |
Тема
|
Re: премахване на ЕДИН елемент от масив
[re: Viper X]
|
|
Автор |
Viper X (just a snake...) |
Публикувано | 16.09.05 12:31 |
|
понеже доста често ми се налага да правя тая операция и затова попитах как вие бихте го направили :)
наистина трябваше да уточня по-добре, че всяка стойност в масива се среща най-много по веднъж..
аз използвам array_diff варианта, но се чудя дали не стрелям по мухи с базука :)
| |
|
Страници по тази тема: 1 | 2 | (покажи всички)
|
|
|