Virtlab:Řídící server/SupportFunctions.php.inc
Z VirtlabWiki
< Virtlab:Řídící server(Rozdíly mezi verzemi)
												
			
			| Verze z 10:16, 22. 10. 2007 Vav166 (Diskuse | příspěvky) ← Předchozí porovnání  | 
				Aktuální verze Vav166 (Diskuse | příspěvky)  | 
			||
| Řádka 8: | Řádka 8: | ||
| ; function DoubleArrayItems($array) : zdvojí prvky pole | ; function DoubleArrayItems($array) : zdvojí prvky pole | ||
| ; function MatrixClear(&$matice, $radek, $sloupec) : v zadané matici zruší určený sloupec a řádek | ; function MatrixClear(&$matice, $radek, $sloupec) : v zadané matici zruší určený sloupec a řádek | ||
| - | + | ; ... | |
| - | == Příklady == | + | |
| - | '''$xml''' = "<tag1>Hello World</tag1> | + | |
| - | <tag1>Hello World</tag1> <tag1>Hello World</tag1> | + | |
| - | <tag1>Hello World</tag1>"; | + | |
| - | + | ||
| - | $cisto = '''ClearWhitespaceInXML($xml)'''; | + | |
| - | + | ||
| - | '''$cisto''' == "<tag1>Hello World</tag1><tag1>Hello World</tag1><tag1>Hello World</tag1><tag1>Hello World</tag1>"; | + | |
| - | + | ||
| - | $a1 = array(1, 1, 1, 2, 3, 4, 5, 5, 6, 6, 6, 6); | + | |
| - | $a2 = array(1, 1, 1, 1, 2, 4, 5, 6, 6, 6); | + | |
| - | $a12 = '''array_porovnej($a1, $a2)'''; | + | |
| - | $a21 = '''array_porovnej($a2, $a1)'''; | + | |
| - | + | ||
| - | '''$a1''' | + | |
| - | ( | + | |
| - | [0] => 1 | + | |
| - | [1] => 1 | + | |
| - | [2] => 1 | + | |
| - | [3] => 2 | + | |
| - | [4] => 3 | + | |
| - | [5] => 4 | + | |
| - | [6] => 5 | + | |
| - | [7] => 5 | + | |
| - | [8] => 6 | + | |
| - | [9] => 6 | + | |
| - | [10] => 6 | + | |
| - | [11] => 6 | + | |
| - | ) | + | |
| - | + | ||
| - | '''$a2''' | + | |
| - | ( | + | |
| - | [0] => 1 | + | |
| - | [1] => 1 | + | |
| - | [2] => 1 | + | |
| - | [3] => 1 | + | |
| - | [4] => 2 | + | |
| - | [5] => 4 | + | |
| - | [6] => 5 | + | |
| - | [7] => 6 | + | |
| - | [8] => 6 | + | |
| - | [9] => 6 | + | |
| - | ) | + | |
| - | + | ||
| - | '''$a12''' | + | |
| - | ( | + | |
| - | [4] => 3 | + | |
| - | [7] => 5 | + | |
| - | [11] => 6 | + | |
| - | ) | + | |
| - | + | ||
| - | '''$a21''' | + | |
| - | ( | + | |
| - | [3] => 1 | + | |
| - | ) | + | |
| - | + | ||
| - | $a = array(1, "index1" => 2, 3, "index2" => 4, "index3" => 5, | + | |
| - | 6 => array(3, "index4" => 4, "index5" => 5)); | + | |
| - | $a2 = '''DoubleArrayItems($a)'''; | + | |
| - | + | ||
| - | '''$a''' | + | |
| - | ( | + | |
| - | [0] => 1 | + | |
| - | [index1] => 2 | + | |
| - | [1] => 3 | + | |
| - | [index2] => 4 | + | |
| - | [index3] => 5 | + | |
| - | [6] => Array | + | |
| - | ( | + | |
| - | [0] => 3 | + | |
| - | [index4] => 4 | + | |
| - | [index5] => 5 | + | |
| - | ) | + | |
| - | ) | + | |
| - | + | ||
| - | '''$a2''' | + | |
| - | ( | + | |
| - | [0] => 1 | + | |
| - | [1] => 1 | + | |
| - | [2] => 2 | + | |
| - | [3] => 2 | + | |
| - | [4] => 3 | + | |
| - | [5] => 3 | + | |
| - | [6] => 4 | + | |
| - | [7] => 4 | + | |
| - | [8] => 5 | + | |
| - | [9] => 5 | + | |
| - | [10] => Array | + | |
| - | ( | + | |
| - | [0] => 3 | + | |
| - | [index4] => 4 | + | |
| - | [index5] => 5 | + | |
| - | ) | + | |
| - | [11] => Array | + | |
| - | ( | + | |
| - | [0] => 3 | + | |
| - | [index4] => 4 | + | |
| - | [index5] => 5 | + | |
| - | ) | + | |
| - | ) | + | |
| - | + | ||
| - | '''$a''' | + | |
| - | ( | + | |
| - | [radek1] => Array | + | |
| - | ( | + | |
| - | [sloupec1] => 0 | + | |
| - | [sloupec2] => 1 | + | |
| - | [sloupec3] => 2 | + | |
| - | [sloupec4] => 3 | + | |
| - | ) | + | |
| - | [radek2] => Array | + | |
| - | ( | + | |
| - | [sloupec1] => 0 | + | |
| - | [sloupec3] => 2 | + | |
| - | [sloupec4] => 3 | + | |
| - | ) | + | |
| - | [radek3] => Array | + | |
| - | ( | + | |
| - | [sloupec3] => 2 | + | |
| - | [sloupec4] => 3 | + | |
| - | ) | + | |
| - | ) | + | |
| - | + | ||
| - | '''MatrixClear(&$a, "radek2", "sloupec1")'''; | + | |
| - | + | ||
| - | '''$a''' | + | |
| - | ( | + | |
| - | [radek1] => Array | + | |
| - | ( | + | |
| - | [sloupec2] => 1 | + | |
| - | [sloupec3] => 2 | + | |
| - | [sloupec4] => 3 | + | |
| - | ) | + | |
| - | [radek3] => Array | + | |
| - | ( | + | |
| - | [sloupec3] => 2 | + | |
| - | [sloupec4] => 3 | + | |
| - | ) | + | |
| - | ) | + | |
| == Zdrojový kód == | == Zdrojový kód == | ||
| - | <pre> | + | Aktuální zdrojový kód se nachází [https://vl-test.cs.vsb.cz/websvn/filedetails.php?repname=virtlab&path=%2FDISTR%2Fweb%2Fclass%2FvirtlabSupportFunctions.php.inc&rev=0&sc=0 zde]. | 
| - | <?php | + | |
| - | + | ||
| - | function ClearWhitespaceInXML($data) { | + | |
| - | $pattern = "/>\s+</"; | + | |
| - | $replacement = "><"; | + | |
| - | return preg_replace($pattern, $replacement, $data); | + | |
| - | }//function | + | |
| - | + | ||
| - | function Unique($array) { | + | |
| - | if(is_array($array)) | + | |
| - | return array_keys(array_flip($array)); | + | |
| - | return NULL; | + | |
| - | }//function | + | |
| - | + | ||
| - | function array_delete(&$array, $value) { | + | |
| - | if(is_array($array)) { | + | |
| - | if(in_array($value, $array)) { | + | |
| - | $array = array_diff($array, array($value)); | + | |
| - | return 1; | + | |
| - | } | + | |
| - | return 0; | + | |
| - | }//if | + | |
| - | return NULL; | + | |
| - | } | + | |
| - | + | ||
| - | function array_porovnej($array1, $array2) { | + | |
| - | $result = array(); | + | |
| - | foreach($array1 as $idx1 => $value1) { | + | |
| - | $exists = 0; | + | |
| - | foreach($array2 as $idx2 => $value2) { | + | |
| - | if($value1 == $value2) { | + | |
| - | unset($array2[$idx2]); | + | |
| - | $exists = 1; | + | |
| - | break; | + | |
| - | } | + | |
| - | //else $result[$idx1] = $value1; | + | |
| - | }//foreach | + | |
| - | if(!$exists) $result[$idx1] = $value1; | + | |
| - | }//foreach | + | |
| - | return $result; | + | |
| - | }//function | + | |
| - | + | ||
| - | function DoubleArrayItems($array) { | + | |
| - | $temp = array(); | + | |
| - | if(is_array($array)) { | + | |
| - | foreach($array as $hodnota) { | + | |
| - | array_push($temp, $hodnota); | + | |
| - | array_push($temp, $hodnota); | + | |
| - | }//foreach | + | |
| - | return $temp; | + | |
| - | }//if | + | |
| - | return NULL; | + | |
| - | }//function | + | |
| - | + | ||
| - | function MatrixClear(&$matice, $radek, $sloupec) { | + | |
| - | unset($matice[$radek]); | + | |
| - | foreach($matice as $radecek => $radky) | + | |
| - | foreach($radky as $sloupecek => $hodonota) { | + | |
| - | if($sloupecek == $sloupec) | + | |
| - | unset($matice[$radecek][$sloupecek]); | + | |
| - | } | + | |
| - | }//function | + | |
| - | ?> | + | |
| - | + | ||
| - | </pre> | + | |
| + | [[Kategorie:Komponenty virtlabu]] | ||
| + | [[Kategorie:Server]] | ||
| + | [[Kategorie:Řídící server]] | ||
| [[Kategorie:PHP]] | [[Kategorie:PHP]] | ||
Aktuální verze
Pomocné funkce.
[editovat]
Popis funkcí
- function ClearWhitespaceInXML($data)
 - ze vstupních dat (XML dat), odstraní bílé znaky mezi značkami.
 - function Unique($array)
 - z pole udělá množinu (odstraní duplicitní hodnoty)
 - function array_delete(&$array, $value)
 - z pole $array odstraní hodnotu $value.
 - function array_porovnej($array1, $array2)
 - vypočíta rozdíl multimnožin $array1 - $array2
 - function DoubleArrayItems($array)
 - zdvojí prvky pole
 - function MatrixClear(&$matice, $radek, $sloupec)
 - v zadané matici zruší určený sloupec a řádek
 - ...
 
[editovat]
Zdrojový kód
Aktuální zdrojový kód se nachází zde.
