Archive for the ‘Array-funktioner’ Category

PHP arrays

lördag, december 14th, 2019

PHP Array Funktioner

FunctionDescription
array()Creates an array
array_change_key_case()Changes all keys in an array to lowercase or uppercase
array_chunk()Splits an array into chunks of arrays
array_column()Returns the values from a single column in the input array
array_combine()Creates an array by using the elements from one ”keys” array and one ”values” array
array_count_values()Counts all the values of an array
array_diff()Compare arrays, and returns the differences (compare values only)
array_diff_assoc()Compare arrays, and returns the differences (compare keys and values)
array_diff_key()Compare arrays, and returns the differences (compare keys only)
array_diff_uassoc()Compare arrays, and returns the differences (compare keys and values, using a user-defined key comparison function)
array_diff_ukey()Compare arrays, and returns the differences (compare keys only, using a user-defined key comparison function)
array_fill()Fills an array with values
array_fill_keys()Fills an array with values, specifying keys
array_filter()Filters the values of an array using a callback function
array_flip()Flips/Exchanges all keys with their associated values in an array
array_intersect()Compare arrays, and returns the matches (compare values only)
array_intersect_assoc()Compare arrays and returns the matches (compare keys and values)
array_intersect_key()Compare arrays, and returns the matches (compare keys only)
array_intersect_uassoc()Compare arrays, and returns the matches (compare keys and values, using a user-defined key comparison function)
array_intersect_ukey()Compare arrays, and returns the matches (compare keys only, using a user-defined key comparison function)
array_key_exists()Checks if the specified key exists in the array
array_keys()Returns all the keys of an array
array_map()Sends each value of an array to a user-made function, which returns new values
array_merge()Merges one or more arrays into one array
array_merge_recursive()Merges one or more arrays into one array recursively
array_multisort()Sorts multiple or multi-dimensional arrays
array_pad()Inserts a specified number of items, with a specified value, to an array
array_pop()Deletes the last element of an array
array_product()Calculates the product of the values in an array
array_push()Inserts one or more elements to the end of an array
array_rand()Returns one or more random keys from an array
array_reduce()Returns an array as a string, using a user-defined function
array_replace()Replaces the values of the first array with the values from following arrays
array_replace_recursive()Replaces the values of the first array with the values from following arrays recursively
array_reverse()Returns an array in the reverse order
array_search()Searches an array for a given value and returns the key
array_shift()Removes the first element from an array, and returns the value of the removed element
array_slice()Returns selected parts of an array
array_splice()Removes and replaces specified elements of an array
array_sum()Returns the sum of the values in an array
array_udiff()Compare arrays, and returns the differences (compare values only, using a user-defined key comparison function)
array_udiff_assoc()Compare arrays, and returns the differences (compare keys and values, using a built-in function to compare the keys and a user-defined function to compare the values)
array_udiff_uassoc()Compare arrays, and returns the differences (compare keys and values, using two user-defined key comparison functions)
array_uintersect()Compare arrays, and returns the matches (compare values only, using a user-defined key comparison function)
array_uintersect_assoc()Compare arrays, and returns the matches (compare keys and values, using a built-in function to compare the keys and a user-defined function to compare the values)
array_uintersect_uassoc()Compare arrays, and returns the matches (compare keys and values, using two user-defined key comparison functions)
array_unique()Removes duplicate values from an array
array_unshift()Adds one or more elements to the beginning of an array
array_values()Returns all the values of an array
array_walk()Applies a user function to every member of an array
array_walk_recursive()Applies a user function recursively to every member of an array
arsort()Sorts an associative array in descending order, according to the value
asort()Sorts an associative array in ascending order, according to the value
compact()Create array containing variables and their values
count()Returns the number of elements in an array
current()Returns the current element in an array
each()Deprecated from PHP 7.2. Returns the current key and value pair from an array
end()Sets the internal pointer of an array to its last element
extract()Imports variables into the current symbol table from an array
in_array()Checks if a specified value exists in an array
key()Fetches a key from an array
krsort()Sorts an associative array in descending order, according to the key
ksort()Sorts an associative array in ascending order, according to the key
list()Assigns variables as if they were an array
natcasesort()Sorts an array using a case insensitive ”natural order” algorithm
natsort()Sorts an array using a ”natural order” algorithm
next()Advance the internal array pointer of an array
pos()Alias of current()
prev()Rewinds the internal array pointer
range()Creates an array containing a range of elements
reset()Sets the internal pointer of an array to its first element
rsort()Sorts an indexed array in descending order
shuffle()Shuffles an array
sizeof()Alias of count()
sort()Sorts an indexed array in ascending order
uasort()Sorts an array by values using a user-defined comparison function
uksort()Sorts an array by keys using a user-defined comparison function
usort()Sorts an array using a user-defined comparison function

Använd print_r() för att skriva ut en array

lördag, december 9th, 2017

Allt som ofta är man i behov av att skriva ut värdet av en variabel och då kanske man använder sig av echo eller print. Detta går så klart bra, men om man vill skriva ut en array eller ett object blir det problem. För detta ändamål finns den eminenta funktionen print_r(). Funktionen skriver ut data om en variabel på ett strukturerat sätt. Är det en skalär (”vanlig variabel”) skriver den ut den som om man hade använt echo, men är det en array skriver den ut ut värdet av varje element med indrag så att det blir snyggt och prydligt. Ett hett tips är att göra en egen funktion som först skriver ut HTML-taggen <pre> innan den anropar print_r(). Såhär t.ex.

function dump()
{
echo ’<pre>’;

$num_args = func_num_args();
for ($i = 0; $i < $num_args; ++$i)
{
print_r(func_get_arg($i));
echo ”\n\n”;
}

echo ’</pre>’;
exit;
}

Ovanstående funktion tar ett godtyckligt antal inparametrar vilket kan vara praktiskt när man utvecklar. Vill du t.ex. skriva ut värdet av variabeln $name och arrayen $addresses anropar du funktionen med:

dump($name, $addresses);

Förlita dig inte på register_globals

torsdag, december 7th, 2017

Om man programmerat PHP ett tag har man säkerligen stött på register.globals tidigare. Denna inställning i PHP:s konfigurationsfil php.ini gör att all data som skickas via GET, POST, cookies och sessions automagiskt registreras som variabler. Om man t.ex. skriver in ”script.php?id=5” i adressfältet när man kör ett skript kommer det automatiskt skapas en variabel $id med värdet 5. Detta må vara praktiskt i många fall, men det leder allt för ofta till säkerhethål i skripten.

Hur gör man istället då? Jo, sedan version 4.1.o finns det i PHP ett antal arrayer som man har tillgång till överallt i sin PHP-kod. Dessa är de s.k. superglobala arrayerna och de heter $_GET, $_POST, $_COOKIE, $_SERVER, $_ENV, $_REQUEST och $_SESSION.  Istället för att förlita sig på att det finns en variabel $id helt automatiskt, får man åtkomst till id genom $_GET[’id’].

array_pop

fredag, februari 22nd, 2013
mixed array_pop ( array &$array )

Med hjälp av funktionen array_pop så kan man snabbt och smidigt returnera det sista värdet i en array eller ett fält samtidigt som detta plockas bort från densamma. Ifall variabeln är tom, eller inte en array, så kommer NULL att returneras. En varning blir dessutom resultatet om man försöker applicera funktionen på en variabel som inte är en array.

Exempel

$cars = array("Volvo", "Saab", "Toyota");
$toyota = array_pop($cars);
print_r($cars);

Skriver ut:
Array
(
[0] => Volvo
[1] => Saab
)

implode

lördag, februari 2nd, 2013
string implode (string $glue, array $pieces)

Funktionen implode kan man säga är motsatsen till explode. Med hjälp av denna funktion kan man skapa en sträng från ett fält eller en array där alla värden är separerade med valfri sträng.

Exempel

$cars = array('Volvo', 'Saab', 'Toyota');
echo implode(', ', $cars); // Skriver ut Volvo, Saab, Toyota

array_key_exists

lördag, februari 2nd, 2013
bool array_key_exists (mixed $key, array $search)

Funktionen array_key_exists används för att kontrollera om ett specifikt index-värde finns i ett fält eller en array och returnerar ett booleskt värde som talar om resultatet. Funktionen returnerar true även om värdet på ett index skulle vara null.

Exempel

$myArray = array('bil' => 'Ferrari', 'cykel' => 'BMX');
if (array_key_exists('bil', $myArray)) {
    echo "Bilen finns!";
}
if (array_key_exists('hus', $myArray)) {
    echo "Huset finns inte!";
}