Made this function to delete elements in an array;
<?php
function array_del_elm($input_array, $del_indexes) {
if (is_array($del_indexes)) {
$indexes = $del_indexes;
} elseif(is_string($del_indexes)) {
$indexes = explode($del_indexes, " ");
} elseif(is_numeric($del_indexes)) {
$indexes[0] = (integer)$del_indexes;
} else return;
$del_indexes = null;
$cur_index = 0;
if (sort($indexes)) for($i=0; $i<count($input_array); $i++) {
if ($i == $indexes[$cur_index]) {
$cur_index++;
if ($cur_index == count($indexes)) return $output_array;
continue;
}
$output_array[] = $input_array[$i];
}
return $output_array;
}
?>
but then i saw the methods of doing the same by Tyler Bannister & Paul, could see that theirs were faster, but had floors regarding deleting multiple elements thus support of several ways of giving parameters. I combined the two methods to this to this:
<?php
function array_del_elm($target_array, $del_indexes) {
if (is_array($del_indexes)) {
$indexes = $del_indexes;
} elseif(is_string($del_indexes)) {
$indexes = explode($del_indexes, " ");
} elseif(is_numeric($del_indexes)) {
$indexes[0] = (integer)$del_indexes;
} else return;
unset($del_indexes);
for($i=0; $i<count($indexes); $i++) {
unset($target_array[$indexes[$i]]);
}
return $target_array;
}
?>
Fast, compliant and functional ;)
Масиви
- Увод
- Инсталиране/Конфигуриране
- Предварително-дефинирани константи
- Sorting Arrays
- Функции за работа с масиви
- array_change_key_case — Променя всички ключове на масив
- array_chunk — Разделя масив на части
- array_combine — Създава масив като използва един масив за ключовете и друг за техните стойности
- array_count_values — Изчислява броя на всички стойности на даден масив
- array_diff_assoc — Изчислява разлика на масиви с допълнителна проверка на индекса
- array_diff_key — Изчислява разлика на масиви използювайки ключовете за сравнение
- array_diff_uassoc — Изчислява разлика на масиви с допълнителна проверка на индекса извършвана от потребителска функция за обратно извикване
- array_diff_ukey — Изчислява разлика на масиви използювайки потребителска функция за обратно извикване за сравнение на ключовете
- array_diff — Изчислява разлика на масиви
- array_fill_keys — Запълва стойностите на указаните ключове на масив
- array_fill — Запълва масив с дадени стойности
- array_filter — Филтрира елементите на масив посредством функция за обратно извикване
- array_flip — Разменя местата на ключовете и стойностите в масив
- array_intersect_assoc — Изчислява сечението на масиви с проверка на индекса
- array_intersect_key — Изчислява сечението на масиви използвайки ключовете при сравнението
- array_intersect_uassoc — Изчислява сечението на масиви с проверка на индекса, сравнявайки индексите посредством функция за обратно извикване
- array_intersect_ukey — Изчислява сечението на масиви използвайки функция за обратно извикване върху ключовете при сравнението
- array_intersect — Изчислява сечението на масиви
- array_key_exists — Проверява присъства ли в масива указания ключ или индекс
- array_keys — Връща всички ключове на даден масив
- array_map — Прилага функция за обратно извикване към елементите на дадените масиви
- array_merge_recursive — Слива един или повече масива рекурсивно
- array_merge — Слива един или повече масива
- array_multisort — Sort multiple or multi-dimensional arrays
- array_pad — Pad array to the specified length with a value
- array_pop — Премахва последния елемент на масив
- array_product — Изчислява произведението на стойностите на даден масив
- array_push — Добавя един или няколко елемента в края на масива
- array_rand — Връща една или няколко случайни стойности на масив
- array_reduce — Iteratively reduce the array to a single value using a callback function
- array_replace_recursive — Replaces elements from passed arrays into the first array recursively
- array_replace — Replaces elements from passed arrays into the first array
- array_reverse — Връща масив с елементите в обратен ред
- array_search — Searches the array for a given value and returns the corresponding key if successful
- array_shift — Извлича първият елемент на масив
- array_slice — Extract a slice of the array
- array_splice — Remove a portion of the array and replace it with something else
- array_sum — Изчислява сумата на стойностите на масив
- array_udiff_assoc — Изчислява разлика на масиви с допълнителна проверка на индекса, сравнявайки данните посредством функция за обратно извикване
- array_udiff_uassoc — Изчислява разлика на масиви с допълнителна проверка на индекса, сравнявайки данните и индексите посредством функция за обратно извикване
- array_udiff — Изчислява разлика на масиви посредством функция за обратно извикване за сравнение на данните
- array_uintersect_assoc — Изчислява сечението на масиви с допълнителна проверка на индекса, сравнявайки данните посредством функция за обратно извикване
- array_uintersect_uassoc — Изчислява сечението на масиви с допълнителна проверка на индекса, сравнявайки данните и индексите посредством функция за обратно извикване
- array_uintersect — Изчислява сечението на масиви, сравнявайки данните посредством функция за обратно извикване
- array_unique — Премахва дублираните стойности в масив
- array_unshift — Добавя един или повече елементи в началото на масив
- array_values — Връща всички стойности на даден масив
- array_walk_recursive — Прилага рекурсивно потребителска функция към всеки елемент на даден масив
- array_walk — Прилага потребителска функция към всеки елемент на даден масив
- array — Създава масив
- arsort — Подрежда масив в обратен ред, запазвайки връзката между ключовете и стойностите
- asort — Подрежда масив, запазвайки връзката между ключовете и стойностите
- compact — Създава масив, съдържащ имената на променливите и техните стойности
- count — Връща броя на елементите на даден масив или броя на свойствата на даден обект
- current — Връща текущия елемент на масива
- each — Връща текущата двойка ключ/стойност на масива и премества указателя му
- end — Установява вътрешния указател на масива на последния му елемент
- extract — Вмъква променливи от масив в текущата символна таблица
- in_array — Проверява дали дадена стойност съществува в масив
- key — Връща ключ на масив
- krsort — Сортира масив по ключ в обратен ред
- ksort — Сортира масив по ключ
- list — Установява променливи от списък със стойности, както при масивите
- natcasesort — Сортира масив, използвайки нечувствителен към регистъра алгоритъм "natural order"
- natsort — Сортира масив, използвайки алгоритъма "natural order"
- next — Премества вътрешния указател на масива с една позиция напред
- pos — Псевдоним на current
- prev — Премества вътрешния указател на масива с една позиция назад
- range — Създава масив, съдържащ диапазон от елементи
- reset — Установява вътрешния указател на масива на първия му елемент
- rsort — Сортира масив в обратен ред
- shuffle — Разбърква масив
- sizeof — Псевдоним на count
- sort — Сортира масив
- uasort — Сортира масив използвайки потребителска функция за сравнение, като запазва индексите
- uksort — Сортира масив по ключовете, използвайки потребителска функция за сравнение
- usort — Сортира масив по стойностите, използвайки потребителска функция за сравнение
Масиви
sunear at gmail dot com
04-Aug-2009 05:45
04-Aug-2009 05:45
Tyler Bannister
11-Jun-2009 01:59
11-Jun-2009 01:59
To delete an individual array element use the unset function
For example:
<?PHP
$arr = array( "A", "B", "C" );
unset( $arr[1] );
// now $arr = array( "A", "C" );
?>
Unlink is for deleting files.
Paul
21-May-2009 09:05
21-May-2009 09:05
To delete an individual array element use the unlink function
For example:
<?PHP
$arr = array( "A", "B", "C" );
unlink( $arr[1] );
// now $arr = array( "A", "C" );
?>
thomasdecaux at ebuildy dot com
15-May-2009 08:14
15-May-2009 08:14
To browse a simple array:
<?php
foreach ($myArray AS $myItem)
{
}
?>
To browse an associative array:
<?php
foreach ($myArray AS $key=>$value)
{
}
?>
http://www.ebuildy.com
macnimble at gmail dot com
27-Mar-2009 02:59
27-Mar-2009 02:59
Converting a linear array (like a mysql record set) into a tree, or multi-dimensional array can be a real bugbear. Capitalizing on references in PHP, we can 'stack' an array in one pass, using one loop, like this:
<?php
# array_stack()
# Original idea from:
# http://www.ideashower.com/our_solutions/
# create-a-parent-child-array-structure-in-one-pass/
function array_stack (&$a, $p = '@parent', $c = '@children')
{
$l = $t = array();
foreach ($a AS $key => $val):
if (!$val[$p]) $t[$key] =& $l[$key];
else $l[$val[$p]][$c][$key] =& $l[$key];
$l[$key] = (array)$l[$key] + $val;
endforeach;
return $a = array('tree' => $t, 'leaf' => $l);
}
# Example:
$node = array();
$node[1] = array('@parent' => 0, 'title' => 'I am node 1.');
# ^-----------------------v Link @parent value to key.
$node[2] = array('@parent' => 1, 'title' => 'I am node 2.');
$node[3] = array('@parent' => 2, 'title' => 'I am node 3.');
$node[4] = array('@parent' => 1, 'title' => 'I am node 4.');
$node[5] = array('@parent' => 4, 'title' => 'I am node 5.');
array_stack($node);
$node['leaf'][1]['title'] = 'I am node one.';
$node['leaf'][2]['title'] = 'I am node two.';
$node['leaf'][3]['title'] = 'I am node three.';
$node['leaf'][4]['title'] = 'I am node four.';
$node['leaf'][5]['title'] = 'I am node five.';
echo '<pre>',print_r($node['tree'],TRUE),'</pre>';
?>
Note that there's no parameter checking on the array value, but this is only to keep the function size small. One could easily a quick check in there to make sure the $a parameter was in fact an array.
Hope you find it useful. Huge thanks to Nate Weiner of IdeaShower.com for providing the original function I built on.
andyd273 at gmail dot com
24-Feb-2009 09:12
24-Feb-2009 09:12
A small correction to Endel Dreyer's PHP array to javascript array function. I just changed it to show keys correctly:
function array2js($array,$show_keys)
{
$dimensoes = array();
$valores = array();
$total = count ($array)-1;
$i=0;
foreach($array as $key=>$value){
if (is_array($value)) {
$dimensoes[$i] = array2js($value,$show_keys);
if ($show_keys) $dimensoes[$i] = '"'.$key.'":'.$dimensoes[$i];
} else {
$dimensoes[$i] = '"'.addslashes($value).'"';
if ($show_keys) $dimensoes[$i] = '"'.$key.'":'.$dimensoes[$i];
}
if ($i==0) $dimensoes[$i] = '{'.$dimensoes[$i];
if ($i==$total) $dimensoes[$i].= '}';
$i++;
}
return implode(',',$dimensoes);
}
Endel Dreyer
20-Jan-2009 12:16
20-Jan-2009 12:16
Function to convert PHP arrays to JavaScript Array Object:
Useful in some cases.
<?php
function array2js($array,$show_keys=false)
{
$dimensoes = array();
$valores = array();
$total = count ($array)-1;
$i=0;
foreach ($array as $key => $value) {
if (is_array($value)) {
$dimensoes[$i] = array2js($value,$show_keys);
} else {
$dimensoes[$i] = '"'.addslashes($value).'"';
if ($show_keys) '"'.$key.'":'.$dimensoes[$i];
}
if ($i==0) $dimensoes[$i] = '['.$dimensoes[$i];
if ($i==$total) $dimensoes[$i].= ']';
$i++;
}
return implode(',',$dimensoes);
}
?>
Anonymous
26-Nov-2008 06:36
26-Nov-2008 06:36
@jorge at andrade dot cl
This variant is faster:
<?php
function array_avg($array,$precision=2){
if(!is_array($array))
return 'ERROR in function array_avg(): this is a not array';
foreach($array as $value)
if(!is_numeric($value))
return 'ERROR in function array_avg(): the array contains one or more non-numeric values';
$cuantos=count($array);
return round(array_sum($array)/$cuantos,$precision);
}
?>
jorge at andrade dot cl
12-Nov-2008 08:03
12-Nov-2008 08:03
To calculate the average of a array
<?php
function array_avg($array,$precision="2"){
$a=0;
if(is_array($array)){
foreach($array as $value):
if(!is_numeric($value)){
$a++;
}
endforeach;
if($a==0){
$cuantos=count($array);
return round(array_sum($array)/$cuantos,$precision);
}else{
return "ERROR in function array_avg(): the array contains one or more non-numeric values";
}
}else{
return "ERROR in function array_avg(): this is a not array";
}
}
?>
alan dot lake at lakeinfoworks dot com
22-Oct-2008 03:46
22-Oct-2008 03:46
To delete an array key (and its value) from an array:
<?php
function array_delete(&$ary,$key_to_be_deleted)
{
$new = array();
if(is_string($key_to_be_deleted)) {
if(!array_key_exists($key_to_be_deleted,$ary)) {
return;
}
foreach($ary as $key => $value) {
if($key != $key_to_be_deleted) {
$new[$key] = $value;
}
}
$ary = $new;
}
if(is_array($key_to_be_deleted)) {
foreach($key_to_be_deleted as $del) {
array_delete(&$ary,$del);
}
}
}
?>
webmaster at infoproducts dot x10hosting dot com
11-Oct-2008 02:13
11-Oct-2008 02:13
New value can also be added to the array as shown below.
$theVariable["google"] = "http//google.com";
or
$theVariable["1"] = "http//google.com";
Jack A
07-Oct-2008 03:14
07-Oct-2008 03:14
Note that arrays are not allowed in class constants and trying to do so will throw a fatal error.
contact at greyphoenix dot biz
01-Jul-2008 04:36
01-Jul-2008 04:36
<?php
//Creating a multidimensional array
$theVariable = array("Search Engines" =>
array (
0=> "http//google.com",
1=> "http//yahoo.com",
2=> "http//msn.com/"),
"Social Networking Sites" =>
array (
0 => "http//www.facebook.com",
1 => "http//www.myspace.com",
2 => "http//vkontakte.ru",)
);
echo "The first array value is " . $theVariable['Search Engines'][0];
?>
-- Output--
The first array value is http://google.com
applegrew at rediffmail dot com
28-May-2008 03:23
28-May-2008 03:23
For newbies like me.
Creating new arrays:-
//Creates a blank array.
$theVariable = array();
//Creates an array with elements.
$theVariable = array("A", "B", "C");
//Creating Associaive array.
$theVariable = array(1 => "http//google.com", 2=> "http://yahoo.com");
//Creating Associaive array with named keys
$theVariable = array("google" => "http//google.com", "yahoo"=> "http://yahoo.com");
Note:
New value can be added to the array as shown below.
$theVariable[] = "D";
$theVariable[] = "E";
