Rozwiązanie jest takie:
|
Oba zapytania są równoważne.
Web Majster - triki i rozwiązania. Pokazuję ciekawe rozwiązania w PHP, frameworku Kohana PHP, JavaScript i jQuery, htaccess i mod_rewrite oraz inne.
|
$(window).load(function() {
var w, h, w1, h1;
$('img').each(function() {
if (!this.complete
|| typeof this.naturalWidth == "undefined"
|| this.naturalWidth == 0) {
w = 100;
h = 100;
w1 = parseInt($(this).attr('width'), 10);
h1 = parseInt($(this).attr('height'), 10);
if (w1 && h1) {
w = w1;
h = h1;
}
this.src = 'http://placehold.it/'+w+'/'+h;
}
});
});
|
function randomText(){
$ch = range('a', 'z');
$count = count($ch);
$length = rand(5, 10);
$text = '';
for($i=0; $i < $length; $i++){
$text .= $ch{rand(0, $count-1)};
}
return $text;
}
|
class Tree{
private $tree; // wygenerowane drzewo
private $levels; // liczba poziomów drzewa
private $branches; // liczba gałęzi na każdym poziomie
public function makeTree($levels, $branches){
$this->tree = array();
$this->levels = $levels;
$this->branches = $branches;
$this->_makeTree();
}
private function _makeTree($level = 0, $branch = 0, $id = null){
if ($level > $this->levels) {
return;
}
$this->tree[] = array('value' => randomText(), 'parent' => $id);
end($this->tree);
$id = key($this->tree);
for($i=0; $i < $this->branches; $i++) {
$this->_makeTree($level+1, $i, $id);
}
}
public function getTree(){
return $this->tree;
}
}
|
srand(0); $t = new Tree(); $t->makeTree(3,2); var_dump($t->getTree()); |
array 0 => array 'value' => string 'eifefuq' (length=7) 'parent' => null 1 => array 'value' => string 'yknjklv' (length=7) 'parent' => int 0 2 => array 'value' => string 'fovima' (length=6) 'parent' => int 1 3 => array 'value' => string 'rtnuteg' (length=7) 'parent' => int 2 4 => array 'value' => string 'miagkiylls' (length=10) 'parent' => int 2 5 => array 'value' => string 'xbpvmgosn' (length=9) 'parent' => int 1 6 => array 'value' => string 'tqwrsjw' (length=7) 'parent' => int 5 7 => array 'value' => string 'ocjmxpr' (length=7) 'parent' => int 5 8 => array 'value' => string 'uarkvdrq' (length=8) 'parent' => int 0 9 => array 'value' => string 'coehs' (length=5) 'parent' => int 8 10 => array 'value' => string 'nkdupaci' (length=8) 'parent' => int 9 11 => array 'value' => string 'hvcjublmpy' (length=10) 'parent' => int 9 12 => array 'value' => string 'gihucb' (length=6) 'parent' => int 8 13 => array 'value' => string 'zzkpck' (length=6) 'parent' => int 12 14 => array 'value' => string 'nbjtsdg' (length=7) 'parent' => int 12 |
| user --------------------- id INT PRIMARY KEY AUTO_INCREMENT hash VARCHAR DEFAULT NULL data TEXT |
| $_FILES['name'][0] $_FILES['name'][1] ... $_FILES['type'][0] $_FILES['type'][1] ... $_FILES['error'][0] $_FILES['error'][1] ... $_FILES['tmp_name'][0] $_FILES['tmp_name'][1] ... $_FILES['size'][0] $_FILES['size'][1] ... |
function replaceKeys(array $arr){ $newArr = array(); foreach($f as $k1 => $v1){foreach($v1 as $k2 => $v2){ $newArr [$k2][$k1] = $f[$k1][$k2]; } } return $newArr; } |
$files = replaceKeys($_FILES); foreach($files as $file){ if($file['error'] == 0){ // ...... } } |
| // utworzenie tablicy liczb array(65, ..., 90) $big = range(65, 90); // utworzenie tablicy liczb array(97, ..., 122) $small = range(97, 122); // złączenie tych tablic $nums = array_merge($big, $small); // stosujemy funkcję chr() do każdego elementu tablicy $letters = array_map('chr', $nums); var_dump($letters); |