Pridať komentár

Príspevok, na ktorý odpovedáte

RE: Python 3.8 16.10.2019 | 13:25
Avatar Miroslav Bendík Gentoo  Administrátor

Takže array_merge prečísluje indexy ak sú číselné. +/-

php > $a = [0, 1];
php > $b = Array(0 => 2, 1 => 3);
php > print_r(array_merge($a, $b));
Array
(
    [0] => 0
    [1] => 1
    [2] => 2
    [3] => 3
)

Tak to skúsme s nečíselnými:

$a = Array(0 => 0, 1 => 1);
$b = Array("0" => 2, "1 " => 3);
Array
(
    [0] => 0
    [1] => 1
    [2] => 2
    [1 ] => 3
)

Takže prečísluje stringy, ktoré vyzerajú ako čísla. Čiže ak si užívateľ zvolí ako username reťazec 1234 tak na neho nemôžem použiť array_merge. Poďme ďalej.

$a = Array(0 => 0, 1 => 1);
$b = Array(0 => 2, 0.5 => 3);
print_r(array_merge($a, $b));
Array
(
    [0] => 0
    [1] => 1
    [2] => 3
)

Hmm nazývať operátor + unionom ehm.

$a = ["i", "j"];
$b = ["k", "l"];
print_r($a + $b);
Array
(
    [0] => i
    [1] => j
)

Teraz netvrdím, že tie veci nie sú zdokumentované. Lenže keď mám kód, ktorý pri a + b vymaže koreňový adresár ak sú operandy a=3 a b=4 a je to krásne zdokumentované tak je mi to úplne nanič pretože je to nelogické.

Ja aktívne pracujem s 10+ programovacími jazykmi, podľa množstva napísaného kódu v poslednom mesiaci by som to odhadom zoradil takto:

  • Dart
  • Python
  • Javascript
  • Assembler (ARM, unified)
  • C++
  • C
  • PHP
  • Lisp / scheme
  • Bash
  • Rust

Za najmenej mätúce považujem:

  • Python
  • Assembler
  • C
54 / 6 plus tisíc (číslom)

Maximálna veľkosť je: 2,0 MB