Portál AbcLinuxu, 10. května 2025 06:58
<?php $arr = array('foo1' => array('aaa', '111', '0', true, 'AAA'), 'foo2' => array('bbb', '111', '1', true, 'CCC'), 'foo3' => array('bbb', '111', '0', false, 'AAA')); if($arr['foo2'][0] == 'bbb' AND $arr['foo2'][1] == 111 AND $arr['foo2'][2] == 1 AND $arr['foo2'][3] == true AND $arr['foo2'][4] == 'CCC') echo "existuje"; else echo "neexistuje"; ?>
existuje
$e = false || true; $f = false or true; $g = true && false; $h = true and false; var_dump($e, $f, $g, $h);vypise:
bool(true) bool(false) bool(false) bool(true)vice info v dokumentaci
<?php $arr = array('foo1' => array('aaa', '111', '0', true, 'AAA'), 'foo2' => array('bbb', '111', '1', true, 'CCC'), 'foo3' => array('bbb', '111', '0', false, 'AAA'), 'foo2' => array('bbb', '100', '1', true, 'CCC')); if($arr['foo2'][0] == 'bbb' AND $arr['foo2'][1] == 111 AND $arr['foo2'][2] == 1 AND $arr['foo2'][3] == true AND $arr['foo2'][4] == 'CCC') echo "existuje"; else echo "neexistuje"; ?>
array(3) { ["foo1"]=> array(5) { [0]=> string(3) "aaa" [1]=> string(3) "111" [2]=> string(1) "0" [3]=> bool(true) [4]=> string(3) "AAA" } ["foo2"]=> array(5) { [0]=> string(3) "bbb" [1]=> string(3) "100" [2]=> string(1) "1" [3]=> bool(true) [4]=> string(3) "CCC" } ["foo3"]=> array(5) { [0]=> string(3) "bbb" [1]=> string(3) "111" [2]=> string(1) "0" [3]=> bool(false) [4]=> string(3) "AAA" } }
foo2
jen jeden. Kde jsou fyzicky ty informace o tech knihach?
$arr = array(); $arr[] = array('foo1', 'aaa', '111', '0', true, 'AAA'); $arr[] = array('foo2', 'bbb', '111', '1', true, 'CCC'); $arr[] = array('foo3', 'bbb', '111', '0', false, 'AAA'); $arr[] = array('foo2', 'bbb', '100', '1', true, 'CCC');
$arr = array(); $arr[] = array('foo1', 'aaa', '111', '0', true, 'AAA'); $arr[] = array('foo2', 'bbb', '111', '1', true, 'CCC'); $arr[] = array('foo3', 'bbb', '111', '0', false, 'AAA'); $arr[] = array('foo2', 'bbb', '100', '1', true, 'CCC'); $exists = false; foreach ($arr as $book) { if ($book[0] == 'foo2' && $book[1] == 'bbb' && $book[2] == '111' && $book[3] == '1' && $book[4] == true && $book[5] == 'CCC') { $exists = true; break; } } echo $exists ? "existuje" : "neexistuje";
$arr = array(); $arr[] = array('foo1', 'aaa', '111', '0', true, 'AAA'); $arr[] = array('foo2', 'bbb', '--->111', '1', true, 'CCC'); $arr[] = array('foo3', 'bbb', '111', '0', false, 'AAA'); $arr[] = array('foo2', 'bbb', '100', '1', true, 'CCC');když znám (foo2) ?
$arr = array(); $arr[] = array('foo1', 'aaa', '111', '0', true, 'AAA'); $arr[] = array('--->foo2', 'bbb', '111', '1', true, 'CCC'); $arr[] = array('foo3', 'bbb', '111', '0', false, 'AAA'); $arr[] = array('foo2', 'bbb', '100', '1', true, 'CCC');nebo se to musí vždy projíždět celý cyklem? Díky
SELECT col2 FROM books WHERE title = 'foo2' AND col1 = 'bbb' AND col3 = 1 AND col4 = 1 AND col5 = 'CCC'nazvy sloupcu by to samozrejme chtelo smysluplnejsi, ale nevim co ty hodnoty znamenaj, tak jsem uvedl tyhle..
$selectedBooks = array_filter($arr, function($book) { return $book[0] == 'foo2' && $book[1] == 'bbb' && $book[2] == '111' && $book[3] == '1' && $book[4] == true && $book[5] == 'CCC' ; });
$arr = array(); $arr[] = array('foo1', 'aaa', '111', '0', true, 'AAA'); $arr[] = array('foo2', 'bbb', '111', '1', true, 'CCC'); $arr[] = array('foo3', 'bbb', '111', '0', false, 'AAA'); $arr[] = array('foo2', 'bbb', '100', '1', true, 'CCC'); $arr2=array_filter($arr, function($kniha) {return $kniha[0]=='foo2';}); print_r($arr2);Najde ti to hledané 2 záznamy a z těch si vybereš příslušné sloupce. Pokud však to jsou knihy s atributy 'foo2', 'bbb', '111', '1', true, 'CCC', tak to můžeš udělat jako seznam objektů, se kterým se dá dovádět o něco lépe než s polem polí. Opravdu nechceš použít databázi? Je to mnohem praktičtější.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.