Rewrite TestExtArray in php
Most of this is ported over, except some omissions:
- array_filter, array_key_exists (suspected we had coverage already;
one is a bytecode, and one was rewritten in hhas recently)
- some random cases distinguishing init_null_variant vs. null_variant
Esse commit está contido em:
@@ -35,7 +35,6 @@
|
||||
#include "hphp/facebook/extensions/tao/test_ext_tao.h"
|
||||
#include "hphp/facebook/extensions/urlextraction/test_ext_urlextraction.h"
|
||||
#include "hphp/test/ext/test_ext_apd.h"
|
||||
#include "hphp/test/ext/test_ext_array.h"
|
||||
#include "hphp/test/ext/test_ext_asio.h"
|
||||
#include "hphp/test/ext/test_ext_bcmath.h"
|
||||
#include "hphp/test/ext/test_ext_bzip2.h"
|
||||
|
||||
Diferenças do arquivo suprimidas por serem muito extensas
Carregar Diff
@@ -1,113 +0,0 @@
|
||||
/*
|
||||
+----------------------------------------------------------------------+
|
||||
| HipHop for PHP |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 2010-2013 Facebook, Inc. (http://www.facebook.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 3.01 of the PHP license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
| available through the world-wide-web at the following url: |
|
||||
| http://www.php.net/license/3_01.txt |
|
||||
| If you did not receive a copy of the PHP license and are unable to |
|
||||
| obtain it through the world-wide-web, please send a note to |
|
||||
| license@php.net so we can mail you a copy immediately. |
|
||||
+----------------------------------------------------------------------+
|
||||
*/
|
||||
|
||||
#ifndef incl_HPHP_TEST_EXT_ARRAY_H_
|
||||
#define incl_HPHP_TEST_EXT_ARRAY_H_
|
||||
|
||||
// >>>>>> Generated by idl.php. Do NOT modify. <<<<<<
|
||||
|
||||
#include "hphp/test/ext/test_cpp_ext.h"
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class TestExtArray : public TestCppExt {
|
||||
public:
|
||||
virtual bool RunTests(const std::string &which);
|
||||
|
||||
bool test_array_change_key_case();
|
||||
bool test_array_chunk();
|
||||
bool test_array_combine();
|
||||
bool test_array_count_values();
|
||||
bool test_array_fill_keys();
|
||||
bool test_array_fill();
|
||||
bool test_array_filter();
|
||||
bool test_array_flip();
|
||||
bool test_array_key_exists();
|
||||
bool test_array_keys();
|
||||
bool test_array_map();
|
||||
bool test_array_merge_recursive();
|
||||
bool test_array_merge();
|
||||
bool test_array_replace_recursive();
|
||||
bool test_array_replace();
|
||||
bool test_array_multisort();
|
||||
bool test_array_pad();
|
||||
bool test_array_pop();
|
||||
bool test_array_product();
|
||||
bool test_array_push();
|
||||
bool test_array_rand();
|
||||
bool test_array_reduce();
|
||||
bool test_array_reverse();
|
||||
bool test_array_search();
|
||||
bool test_array_shift();
|
||||
bool test_array_slice();
|
||||
bool test_array_splice();
|
||||
bool test_array_sum();
|
||||
bool test_array_unique();
|
||||
bool test_array_unshift();
|
||||
bool test_array_values();
|
||||
bool test_array_walk_recursive();
|
||||
bool test_array_walk();
|
||||
bool test_compact();
|
||||
bool test_shuffle();
|
||||
bool test_count();
|
||||
bool test_sizeof();
|
||||
bool test_each();
|
||||
bool test_current();
|
||||
bool test_next();
|
||||
bool test_pos();
|
||||
bool test_prev();
|
||||
bool test_reset();
|
||||
bool test_end();
|
||||
bool test_in_array();
|
||||
bool test_key();
|
||||
bool test_range();
|
||||
bool test_array_diff();
|
||||
bool test_array_udiff();
|
||||
bool test_array_diff_assoc();
|
||||
bool test_array_diff_uassoc();
|
||||
bool test_array_udiff_assoc();
|
||||
bool test_array_udiff_uassoc();
|
||||
bool test_array_diff_key();
|
||||
bool test_array_diff_ukey();
|
||||
bool test_array_intersect();
|
||||
bool test_array_uintersect();
|
||||
bool test_array_intersect_assoc();
|
||||
bool test_array_intersect_uassoc();
|
||||
bool test_array_uintersect_assoc();
|
||||
bool test_array_uintersect_uassoc();
|
||||
bool test_array_intersect_key();
|
||||
bool test_array_intersect_ukey();
|
||||
bool test_sort();
|
||||
bool test_rsort();
|
||||
bool test_asort();
|
||||
bool test_arsort();
|
||||
bool test_ksort();
|
||||
bool test_krsort();
|
||||
bool test_usort();
|
||||
bool test_uasort();
|
||||
bool test_uksort();
|
||||
bool test_natsort();
|
||||
bool test_natcasesort();
|
||||
bool test_i18n_loc_get_default();
|
||||
bool test_i18n_loc_set_default();
|
||||
bool test_i18n_loc_set_attribute();
|
||||
bool test_i18n_loc_set_strength();
|
||||
bool test_i18n_loc_get_error_code();
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#endif // incl_HPHP_TEST_EXT_ARRAY_H_
|
||||
@@ -0,0 +1,5 @@
|
||||
<?php
|
||||
|
||||
$input_array = array("a", "b", "c", "d", "e");
|
||||
var_dump(array_chunk($input_array, 2));
|
||||
var_dump(array_chunk($input_array, 2, true));
|
||||
@@ -0,0 +1,42 @@
|
||||
array(3) {
|
||||
[0]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(1) "a"
|
||||
[1]=>
|
||||
string(1) "b"
|
||||
}
|
||||
[1]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(1) "c"
|
||||
[1]=>
|
||||
string(1) "d"
|
||||
}
|
||||
[2]=>
|
||||
array(1) {
|
||||
[0]=>
|
||||
string(1) "e"
|
||||
}
|
||||
}
|
||||
array(3) {
|
||||
[0]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(1) "a"
|
||||
[1]=>
|
||||
string(1) "b"
|
||||
}
|
||||
[1]=>
|
||||
array(2) {
|
||||
[2]=>
|
||||
string(1) "c"
|
||||
[3]=>
|
||||
string(1) "d"
|
||||
}
|
||||
[2]=>
|
||||
array(1) {
|
||||
[4]=>
|
||||
string(1) "e"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
|
||||
$a = array("green", "red", "yellow");
|
||||
$b = array("avocado", "apple", "banana");
|
||||
$c = array_combine($a, $b);
|
||||
var_dump($c);
|
||||
@@ -0,0 +1,8 @@
|
||||
array(3) {
|
||||
["green"]=>
|
||||
string(7) "avocado"
|
||||
["red"]=>
|
||||
string(5) "apple"
|
||||
["yellow"]=>
|
||||
string(6) "banana"
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
$array1 = array(
|
||||
"a" => "green",
|
||||
"red",
|
||||
"blue",
|
||||
"red"
|
||||
);
|
||||
$array2 = array(
|
||||
"b" => "green",
|
||||
"yellow",
|
||||
"red"
|
||||
);
|
||||
|
||||
$result = array_diff($array1, $array2);
|
||||
var_dump($result);
|
||||
|
||||
$a = array("b");
|
||||
$b = array("b", "c");
|
||||
var_dump(array_diff($b, $a));
|
||||
@@ -0,0 +1,8 @@
|
||||
array(1) {
|
||||
[1]=>
|
||||
string(4) "blue"
|
||||
}
|
||||
array(1) {
|
||||
[1]=>
|
||||
string(1) "c"
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
function a() {
|
||||
$array1 = array(
|
||||
"a" => "green",
|
||||
"b" => "brown",
|
||||
"c" => "blue",
|
||||
"red"
|
||||
);
|
||||
$array2 = array(
|
||||
"a" => "green",
|
||||
"yellow",
|
||||
"red"
|
||||
);
|
||||
|
||||
$result = array_diff_assoc($array1, $array2);
|
||||
var_dump($result);
|
||||
}
|
||||
|
||||
function b() {
|
||||
$array1 = array(0, 1, 2);
|
||||
$array2 = array("00", "01", "2");
|
||||
$result = array_diff_assoc($array1, $array2);
|
||||
var_dump($result);
|
||||
}
|
||||
|
||||
a();
|
||||
b();
|
||||
@@ -0,0 +1,14 @@
|
||||
array(3) {
|
||||
["b"]=>
|
||||
string(5) "brown"
|
||||
["c"]=>
|
||||
string(4) "blue"
|
||||
[0]=>
|
||||
string(3) "red"
|
||||
}
|
||||
array(2) {
|
||||
[0]=>
|
||||
int(0)
|
||||
[1]=>
|
||||
int(1)
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
<?php
|
||||
|
||||
$array1 = array("blue" => 1, "red" => 2, "green" => 3, "purple" => 4);
|
||||
$array2 = array("green" => 5, "blue" => 6, "yellow" => 7, "cyan" => 8);
|
||||
var_dump(array_diff_key($array1, $array2));
|
||||
@@ -0,0 +1,6 @@
|
||||
array(2) {
|
||||
["red"]=>
|
||||
int(2)
|
||||
["purple"]=>
|
||||
int(4)
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
function comp_func($n1,$n2) {
|
||||
$n1=(int)$n1; $n2=(int)$n2;
|
||||
return $n1 === $n2 ? 0 : ($n1 > $n2 ? 1 : -1);
|
||||
}
|
||||
|
||||
|
||||
function a() {
|
||||
$array1 = array(
|
||||
"a" => "green",
|
||||
"b" => "brown",
|
||||
"c" => "blue",
|
||||
"red"
|
||||
);
|
||||
$array2 = array(
|
||||
"a" => "green",
|
||||
"yellow",
|
||||
"red"
|
||||
);
|
||||
|
||||
$result = array_diff_uassoc($array1, $array2, "comp_func");
|
||||
var_dump($result);
|
||||
}
|
||||
|
||||
a();
|
||||
@@ -0,0 +1,8 @@
|
||||
array(3) {
|
||||
["b"]=>
|
||||
string(5) "brown"
|
||||
["c"]=>
|
||||
string(4) "blue"
|
||||
[0]=>
|
||||
string(3) "red"
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
<?php
|
||||
|
||||
$array1 = array("blue" => 1, "red" => 2, "green" => 3, "purple" => 4);
|
||||
$array2 = array("green" => 5, "blue" => 6, "yellow" => 7, "cyan" => 8);
|
||||
var_dump(array_diff_ukey($array1, $array2, 'strcasecmp'));
|
||||
@@ -0,0 +1,6 @@
|
||||
array(2) {
|
||||
["red"]=>
|
||||
int(2)
|
||||
["purple"]=>
|
||||
int(4)
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
<?php
|
||||
$a = array_fill(5, 6, "banana");
|
||||
$b = array_fill(-2, 2, "pear");
|
||||
var_dump($a);
|
||||
var_dump($b);
|
||||
@@ -0,0 +1,20 @@
|
||||
array(6) {
|
||||
[5]=>
|
||||
string(6) "banana"
|
||||
[6]=>
|
||||
string(6) "banana"
|
||||
[7]=>
|
||||
string(6) "banana"
|
||||
[8]=>
|
||||
string(6) "banana"
|
||||
[9]=>
|
||||
string(6) "banana"
|
||||
[10]=>
|
||||
string(6) "banana"
|
||||
}
|
||||
array(2) {
|
||||
[-2]=>
|
||||
string(4) "pear"
|
||||
[0]=>
|
||||
string(4) "pear"
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
$array1 = array(
|
||||
"a" => "green",
|
||||
"red",
|
||||
"blue"
|
||||
);
|
||||
$array2 = array(
|
||||
"b" => "green",
|
||||
"yellow",
|
||||
"red"
|
||||
);
|
||||
var_dump(array_intersect($array1, $array2));
|
||||
@@ -0,0 +1,6 @@
|
||||
array(2) {
|
||||
["a"]=>
|
||||
string(5) "green"
|
||||
[0]=>
|
||||
string(3) "red"
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
$array1 = array(
|
||||
"a" => "green",
|
||||
"b" => "brown",
|
||||
"c" => "blue",
|
||||
"red"
|
||||
);
|
||||
$array2 = array(
|
||||
"a" => "green",
|
||||
"yellow",
|
||||
"red"
|
||||
);
|
||||
var_dump(array_intersect_assoc($array1, $array2));
|
||||
@@ -0,0 +1,4 @@
|
||||
array(1) {
|
||||
["a"]=>
|
||||
string(5) "green"
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
|
||||
$array1 = array("blue" => 1, "red" => 2, "green" => 3, "purple" => 4);
|
||||
$array2 = array("green" => 5, "blue" => 6, "yellow" => 7, "cyan" => 8);
|
||||
var_dump(array_intersect_key($array1, $array2));
|
||||
var_dump(array_intersect_key(null, array(1 => 1)));
|
||||
@@ -0,0 +1,7 @@
|
||||
array(2) {
|
||||
["blue"]=>
|
||||
int(1)
|
||||
["green"]=>
|
||||
int(3)
|
||||
}
|
||||
NULL
|
||||
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
$array1 = array(
|
||||
"a" => "green",
|
||||
"b" => "brown",
|
||||
"c" => "blue",
|
||||
"red"
|
||||
);
|
||||
$array2 = array(
|
||||
"a" => "GREEN",
|
||||
"B" => "brown",
|
||||
"yellow",
|
||||
"red"
|
||||
);
|
||||
var_dump(array_intersect_uassoc($array1, $array2, 'strcasecmp'));
|
||||
@@ -0,0 +1,4 @@
|
||||
array(1) {
|
||||
["b"]=>
|
||||
string(5) "brown"
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
<?php
|
||||
|
||||
$array1 = array("blue" => 1, "red" => 2, "green" => 3, "purple" => 4);
|
||||
$array2 = array("green" => 5, "blue" => 6, "yellow" => 7, "cyan" => 8);
|
||||
var_dump(array_intersect_ukey($array1, $array2, 'strcasecmp'));
|
||||
@@ -0,0 +1,6 @@
|
||||
array(2) {
|
||||
["blue"]=>
|
||||
int(1)
|
||||
["green"]=>
|
||||
int(3)
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
var_dump(array_keys(array(0 => 100, "color" => "red")));
|
||||
var_dump(array_keys(array("blue", "red", "green", "blue", "blue"),
|
||||
"blue"));
|
||||
var_dump(array_keys(
|
||||
array("color" => array("blue", "red", "green"),
|
||||
"size" => array("small", "medium", "large"))
|
||||
));
|
||||
|
||||
$array = array(
|
||||
"a" => null,
|
||||
"b" => 123,
|
||||
"c" => false,
|
||||
);
|
||||
var_dump(array_keys($array));
|
||||
var_dump(array_keys($array, null));
|
||||
@@ -0,0 +1,34 @@
|
||||
array(2) {
|
||||
[0]=>
|
||||
int(0)
|
||||
[1]=>
|
||||
string(5) "color"
|
||||
}
|
||||
array(3) {
|
||||
[0]=>
|
||||
int(0)
|
||||
[1]=>
|
||||
int(3)
|
||||
[2]=>
|
||||
int(4)
|
||||
}
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(5) "color"
|
||||
[1]=>
|
||||
string(4) "size"
|
||||
}
|
||||
array(3) {
|
||||
[0]=>
|
||||
string(1) "a"
|
||||
[1]=>
|
||||
string(1) "b"
|
||||
[2]=>
|
||||
string(1) "c"
|
||||
}
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(1) "a"
|
||||
[1]=>
|
||||
string(1) "c"
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
function cube($s1) { return $s1*$s1*$s1; }
|
||||
$a = array(1, 2, 3, 4, 5);
|
||||
$b = array_map("cube", $a);
|
||||
var_dump($b);
|
||||
$b = array_map(null, $a);
|
||||
var_dump($b);
|
||||
$b = array_map(null, array('x' => 6, 0 => 7));
|
||||
var_dump($b);
|
||||
var_dump(
|
||||
array_map(
|
||||
null,
|
||||
array('x' => 6, 0 => 7),
|
||||
array(array('a', 'b'), true)
|
||||
)
|
||||
);
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
array(5) {
|
||||
[0]=>
|
||||
int(1)
|
||||
[1]=>
|
||||
int(8)
|
||||
[2]=>
|
||||
int(27)
|
||||
[3]=>
|
||||
int(64)
|
||||
[4]=>
|
||||
int(125)
|
||||
}
|
||||
array(5) {
|
||||
[0]=>
|
||||
int(1)
|
||||
[1]=>
|
||||
int(2)
|
||||
[2]=>
|
||||
int(3)
|
||||
[3]=>
|
||||
int(4)
|
||||
[4]=>
|
||||
int(5)
|
||||
}
|
||||
array(2) {
|
||||
["x"]=>
|
||||
int(6)
|
||||
[0]=>
|
||||
int(7)
|
||||
}
|
||||
array(2) {
|
||||
[0]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
int(6)
|
||||
[1]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(1) "a"
|
||||
[1]=>
|
||||
string(1) "b"
|
||||
}
|
||||
}
|
||||
[1]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
int(7)
|
||||
[1]=>
|
||||
bool(true)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
function a() {
|
||||
$array1 = array(
|
||||
"color" => "red",
|
||||
2,
|
||||
4
|
||||
);
|
||||
$array2 = array(
|
||||
"a",
|
||||
"b",
|
||||
"color" => "green",
|
||||
"shape" => "trapezoid",
|
||||
4
|
||||
);
|
||||
$result = array_merge($array1, array($array2));
|
||||
var_dump($result);
|
||||
}
|
||||
|
||||
function b() {
|
||||
$array1 = array();
|
||||
$array2 = array(1 => "data");
|
||||
$result = array_merge($array1, array($array2));
|
||||
var_dump($result);
|
||||
}
|
||||
|
||||
function c() {
|
||||
$array1 = array();
|
||||
$array2 = array(1 => "data");
|
||||
$result = $array1 + $array2;
|
||||
var_dump($result);
|
||||
}
|
||||
|
||||
function d() {
|
||||
$beginning = "foo";
|
||||
$end = array(1 => "bar");
|
||||
$result = array_merge((array)$beginning, array($end));
|
||||
var_dump($result);
|
||||
}
|
||||
|
||||
function e() {
|
||||
$v = 1;
|
||||
$a = array("one" => 1);
|
||||
$b = array("two" => &$v);
|
||||
$r = array_merge($a, array($b));
|
||||
$v = 2;
|
||||
var_dump($r);
|
||||
}
|
||||
|
||||
function f() {
|
||||
$id = 100000000000022;
|
||||
$a = array($id => 1);
|
||||
$b = array($id => 2);
|
||||
$r = array_merge($a, array($b));
|
||||
var_dump($r);
|
||||
}
|
||||
|
||||
function g() {
|
||||
$a = array(1 => 50, 5 => 60);
|
||||
$b = null;
|
||||
var_dump(array_merge($a, array($b)));
|
||||
}
|
||||
|
||||
a();
|
||||
b();
|
||||
c();
|
||||
d();
|
||||
e();
|
||||
f();
|
||||
@@ -0,0 +1,59 @@
|
||||
array(4) {
|
||||
["color"]=>
|
||||
string(3) "red"
|
||||
[0]=>
|
||||
int(2)
|
||||
[1]=>
|
||||
int(4)
|
||||
[2]=>
|
||||
array(5) {
|
||||
[0]=>
|
||||
string(1) "a"
|
||||
[1]=>
|
||||
string(1) "b"
|
||||
["color"]=>
|
||||
string(5) "green"
|
||||
["shape"]=>
|
||||
string(9) "trapezoid"
|
||||
[2]=>
|
||||
int(4)
|
||||
}
|
||||
}
|
||||
array(1) {
|
||||
[0]=>
|
||||
array(1) {
|
||||
[1]=>
|
||||
string(4) "data"
|
||||
}
|
||||
}
|
||||
array(1) {
|
||||
[1]=>
|
||||
string(4) "data"
|
||||
}
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(3) "foo"
|
||||
[1]=>
|
||||
array(1) {
|
||||
[1]=>
|
||||
string(3) "bar"
|
||||
}
|
||||
}
|
||||
array(2) {
|
||||
["one"]=>
|
||||
int(1)
|
||||
[0]=>
|
||||
array(1) {
|
||||
["two"]=>
|
||||
&int(2)
|
||||
}
|
||||
}
|
||||
array(2) {
|
||||
[0]=>
|
||||
int(1)
|
||||
[1]=>
|
||||
array(1) {
|
||||
[100000000000022]=>
|
||||
int(2)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
$a1 = array();
|
||||
$a2 = array("key1" => &$a2);
|
||||
$a1 = array_merge_recursive($a1, $a2);
|
||||
unset($a1);unset($a2);
|
||||
|
||||
$ar1 = array(
|
||||
"color" => array("favorite" => "red"),
|
||||
1 => 5
|
||||
);
|
||||
$ar2 = array(
|
||||
"color" => array("favorite" => "green"),
|
||||
"blue"
|
||||
);
|
||||
|
||||
$result = array_merge_recursive($ar1, array($ar2));
|
||||
var_dump($result);
|
||||
@@ -0,0 +1,19 @@
|
||||
array(3) {
|
||||
["color"]=>
|
||||
array(1) {
|
||||
["favorite"]=>
|
||||
string(3) "red"
|
||||
}
|
||||
[0]=>
|
||||
int(5)
|
||||
[1]=>
|
||||
array(2) {
|
||||
["color"]=>
|
||||
array(1) {
|
||||
["favorite"]=>
|
||||
string(5) "green"
|
||||
}
|
||||
[0]=>
|
||||
string(4) "blue"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
function a() {
|
||||
$ar1 = array(10, 100, 100, 0);
|
||||
$ar2 = array(1, 3, 2, 4);
|
||||
array_multisort($ar1, $ar2);
|
||||
var_dump($ar1);
|
||||
var_dump($ar2);
|
||||
}
|
||||
|
||||
function b() {
|
||||
$ar = array(
|
||||
array("10", 11, 100, 100, "a"),
|
||||
array(1, 2, "2", 3, 1)
|
||||
);
|
||||
array_multisort($ar[0],
|
||||
SORT_ASC, SORT_STRING, $ar[1],
|
||||
SORT_NUMERIC, SORT_DESC);
|
||||
var_dump($ar);
|
||||
}
|
||||
|
||||
function c() {
|
||||
$array = array("Alpha", "atomic", "Beta", "bank");
|
||||
$array_lowercase = array_map("strtolower", $array);
|
||||
array_multisort($array_lowercase,
|
||||
SORT_ASC, SORT_STRING, $array);
|
||||
var_dump($array);
|
||||
}
|
||||
|
||||
a();
|
||||
b();
|
||||
c();
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
array(4) {
|
||||
[0]=>
|
||||
int(0)
|
||||
[1]=>
|
||||
int(10)
|
||||
[2]=>
|
||||
int(100)
|
||||
[3]=>
|
||||
int(100)
|
||||
}
|
||||
array(4) {
|
||||
[0]=>
|
||||
int(4)
|
||||
[1]=>
|
||||
int(1)
|
||||
[2]=>
|
||||
int(2)
|
||||
[3]=>
|
||||
int(3)
|
||||
}
|
||||
array(2) {
|
||||
[0]=>
|
||||
array(5) {
|
||||
[0]=>
|
||||
string(2) "10"
|
||||
[1]=>
|
||||
int(100)
|
||||
[2]=>
|
||||
int(100)
|
||||
[3]=>
|
||||
int(11)
|
||||
[4]=>
|
||||
string(1) "a"
|
||||
}
|
||||
[1]=>
|
||||
array(5) {
|
||||
[0]=>
|
||||
int(1)
|
||||
[1]=>
|
||||
int(3)
|
||||
[2]=>
|
||||
string(1) "2"
|
||||
[3]=>
|
||||
int(2)
|
||||
[4]=>
|
||||
int(1)
|
||||
}
|
||||
}
|
||||
array(4) {
|
||||
[0]=>
|
||||
string(5) "Alpha"
|
||||
[1]=>
|
||||
string(6) "atomic"
|
||||
[2]=>
|
||||
string(4) "bank"
|
||||
[3]=>
|
||||
string(4) "Beta"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
$input = array(12, 10, 9);
|
||||
var_dump(array_pad($input, 5, 0));
|
||||
var_dump(array_pad($input, -7, -1));
|
||||
var_dump(array_pad($input, 2, "noop"));
|
||||
$a = array("9" => "b");
|
||||
var_dump(array_pad($a, -3, "test"));
|
||||
@@ -0,0 +1,44 @@
|
||||
array(5) {
|
||||
[0]=>
|
||||
int(12)
|
||||
[1]=>
|
||||
int(10)
|
||||
[2]=>
|
||||
int(9)
|
||||
[3]=>
|
||||
int(0)
|
||||
[4]=>
|
||||
int(0)
|
||||
}
|
||||
array(7) {
|
||||
[0]=>
|
||||
int(-1)
|
||||
[1]=>
|
||||
int(-1)
|
||||
[2]=>
|
||||
int(-1)
|
||||
[3]=>
|
||||
int(-1)
|
||||
[4]=>
|
||||
int(12)
|
||||
[5]=>
|
||||
int(10)
|
||||
[6]=>
|
||||
int(9)
|
||||
}
|
||||
array(3) {
|
||||
[0]=>
|
||||
int(12)
|
||||
[1]=>
|
||||
int(10)
|
||||
[2]=>
|
||||
int(9)
|
||||
}
|
||||
array(3) {
|
||||
[0]=>
|
||||
string(4) "test"
|
||||
[1]=>
|
||||
string(4) "test"
|
||||
[2]=>
|
||||
string(1) "b"
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
function a() {
|
||||
$input = array("orange", "banana", "apple", "raspberryu");
|
||||
$fruit = array_pop($input);
|
||||
var_dump($input);
|
||||
}
|
||||
|
||||
function b() {
|
||||
$input = array("orange");
|
||||
$fruit = array_pop($input);
|
||||
array_push($input, "banana");
|
||||
var_dump($input);
|
||||
var_dump($fruit);
|
||||
}
|
||||
|
||||
a();
|
||||
b();
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
array(3) {
|
||||
[0]=>
|
||||
string(6) "orange"
|
||||
[1]=>
|
||||
string(6) "banana"
|
||||
[2]=>
|
||||
string(5) "apple"
|
||||
}
|
||||
array(1) {
|
||||
[0]=>
|
||||
string(6) "banana"
|
||||
}
|
||||
string(6) "orange"
|
||||
@@ -0,0 +1,5 @@
|
||||
<?php
|
||||
|
||||
$a = array(2, 4, 6, 8);
|
||||
var_dump(array_product($a));
|
||||
var_dump(array_product(array()));
|
||||
@@ -0,0 +1,2 @@
|
||||
int(384)
|
||||
int(0)
|
||||
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
|
||||
$input = array("orange", "banana");
|
||||
$size = array_push($input, "apple", "raspberry");
|
||||
var_dump($input);
|
||||
var_dump($size);
|
||||
@@ -0,0 +1,11 @@
|
||||
array(4) {
|
||||
[0]=>
|
||||
string(6) "orange"
|
||||
[1]=>
|
||||
string(6) "banana"
|
||||
[2]=>
|
||||
string(5) "apple"
|
||||
[3]=>
|
||||
string(9) "raspberry"
|
||||
}
|
||||
int(4)
|
||||
@@ -0,0 +1,9 @@
|
||||
<?php
|
||||
|
||||
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
|
||||
$rand_keys = array_rand($input, 2);
|
||||
var_dump(count($rand_keys));
|
||||
|
||||
foreach ($rand_keys as $k) {
|
||||
var_dump(array_key_exists($k, $input));
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
int(2)
|
||||
bool(true)
|
||||
bool(true)
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
function rsum($s1,$s2) {
|
||||
return (int)$s1 + (int)$s2;
|
||||
}
|
||||
function rmul($s1,$s2) {
|
||||
return (int)$s1 * (int)$s2;
|
||||
}
|
||||
|
||||
$a = array(1, 2, 3, 4, 5);
|
||||
$b = array_reduce($a, "rsum");
|
||||
var_dump($b);
|
||||
$c = array_reduce($a, "rmul", 10);
|
||||
var_dump($c);
|
||||
$d = array_reduce($a, "rmul");
|
||||
var_dump($d);
|
||||
|
||||
$x = array();
|
||||
$e = array_reduce($x, "rsum", 1);
|
||||
var_dump($e);
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
int(15)
|
||||
int(1200)
|
||||
int(0)
|
||||
int(1)
|
||||
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
function a() {
|
||||
$array1 = array(
|
||||
"color" => "red",
|
||||
2,
|
||||
4
|
||||
);
|
||||
$array2 = array(
|
||||
"a",
|
||||
"b",
|
||||
"color" => "green",
|
||||
"shape" => "trapezoid",
|
||||
4
|
||||
);
|
||||
$result = array_replace($array1, array($array2));
|
||||
var_dump($result);
|
||||
}
|
||||
|
||||
function b() {
|
||||
$array1 = array();
|
||||
$array2 = array(1 => "data");
|
||||
$result = array_replace($array1, array($array2));
|
||||
var_dump($result);
|
||||
}
|
||||
|
||||
function c() {
|
||||
$array1 = array();
|
||||
$array2 = array(1 => "data");
|
||||
$result = $array1 + $array2;
|
||||
var_dump($result);
|
||||
}
|
||||
|
||||
function d() {
|
||||
$beginning = "foo";
|
||||
$end = array(1 => "bar");
|
||||
$result = array_replace((array)$beginning, array($end));
|
||||
var_dump($result);
|
||||
}
|
||||
|
||||
function e() {
|
||||
$v = 1;
|
||||
$a = array("one" => 1);
|
||||
$b = array("two" => &$v);
|
||||
$r = array_replace($a, array($b));
|
||||
$v = 2;
|
||||
var_dump($r);
|
||||
}
|
||||
|
||||
function f() {
|
||||
$id = 100000000000022;
|
||||
$a = array($id => 1);
|
||||
$b = array($id => 2);
|
||||
$r = array_replace($a, array($b));
|
||||
var_dump($r);
|
||||
}
|
||||
|
||||
function g() {
|
||||
$a = array(1 => 50, 5 => 60);
|
||||
$b = null;
|
||||
var_dump(array_replace($a, array($b)));
|
||||
}
|
||||
|
||||
a();
|
||||
b();
|
||||
c();
|
||||
d();
|
||||
e();
|
||||
f();
|
||||
@@ -0,0 +1,55 @@
|
||||
array(3) {
|
||||
["color"]=>
|
||||
string(3) "red"
|
||||
[0]=>
|
||||
array(5) {
|
||||
[0]=>
|
||||
string(1) "a"
|
||||
[1]=>
|
||||
string(1) "b"
|
||||
["color"]=>
|
||||
string(5) "green"
|
||||
["shape"]=>
|
||||
string(9) "trapezoid"
|
||||
[2]=>
|
||||
int(4)
|
||||
}
|
||||
[1]=>
|
||||
int(4)
|
||||
}
|
||||
array(1) {
|
||||
[0]=>
|
||||
array(1) {
|
||||
[1]=>
|
||||
string(4) "data"
|
||||
}
|
||||
}
|
||||
array(1) {
|
||||
[1]=>
|
||||
string(4) "data"
|
||||
}
|
||||
array(1) {
|
||||
[0]=>
|
||||
array(1) {
|
||||
[1]=>
|
||||
string(3) "bar"
|
||||
}
|
||||
}
|
||||
array(2) {
|
||||
["one"]=>
|
||||
int(1)
|
||||
[0]=>
|
||||
array(1) {
|
||||
["two"]=>
|
||||
&int(2)
|
||||
}
|
||||
}
|
||||
array(2) {
|
||||
[100000000000022]=>
|
||||
int(1)
|
||||
[0]=>
|
||||
array(1) {
|
||||
[100000000000022]=>
|
||||
int(2)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
<?php
|
||||
|
||||
$ar1 = array(
|
||||
"color" => array("favoritte" => "red"),
|
||||
5
|
||||
);
|
||||
$ar2 = array(
|
||||
10,
|
||||
array("color" => array("favorite" => "green", "blue"))
|
||||
);
|
||||
$r = array_replace_recursive($ar1, array($ar2));
|
||||
var_dump($r);
|
||||
@@ -0,0 +1,22 @@
|
||||
array(2) {
|
||||
["color"]=>
|
||||
array(1) {
|
||||
["favoritte"]=>
|
||||
string(3) "red"
|
||||
}
|
||||
[0]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
int(10)
|
||||
[1]=>
|
||||
array(1) {
|
||||
["color"]=>
|
||||
array(2) {
|
||||
["favorite"]=>
|
||||
string(5) "green"
|
||||
[0]=>
|
||||
string(4) "blue"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
function a() {
|
||||
$input = array("php", 4.0, array("green", "red"));
|
||||
$result = array_reverse($input);
|
||||
var_dump($result);
|
||||
$result_keyed = array_reverse($input, true);
|
||||
var_dump($result_keyed);
|
||||
}
|
||||
|
||||
function b() {
|
||||
$input = array("php" => 4.0, 10 => 5.0, "blab" =>"b");
|
||||
$result = array_reverse($input);
|
||||
var_dump($result);
|
||||
}
|
||||
|
||||
a();
|
||||
b();
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
array(3) {
|
||||
[0]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(5) "green"
|
||||
[1]=>
|
||||
string(3) "red"
|
||||
}
|
||||
[1]=>
|
||||
float(4)
|
||||
[2]=>
|
||||
string(3) "php"
|
||||
}
|
||||
array(3) {
|
||||
[2]=>
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(5) "green"
|
||||
[1]=>
|
||||
string(3) "red"
|
||||
}
|
||||
[1]=>
|
||||
float(4)
|
||||
[0]=>
|
||||
string(3) "php"
|
||||
}
|
||||
array(3) {
|
||||
["blab"]=>
|
||||
string(1) "b"
|
||||
[0]=>
|
||||
float(5)
|
||||
["php"]=>
|
||||
float(4)
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
$array = array(
|
||||
0 => "blue",
|
||||
1 => "red",
|
||||
2 => "green",
|
||||
3 => "red"
|
||||
);
|
||||
|
||||
var_dump(array_search("green", $array));
|
||||
var_dump(array_search("red", $array));
|
||||
@@ -0,0 +1,2 @@
|
||||
int(2)
|
||||
int(1)
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
function a() {
|
||||
$input = array("a" => 1, "b" => 2);
|
||||
array_shift($input);
|
||||
var_dump($input);
|
||||
}
|
||||
|
||||
function b() {
|
||||
$input = array("a" => 1, 23 => 2);
|
||||
array_shift($input);
|
||||
var_dump($input);
|
||||
}
|
||||
|
||||
function c() {
|
||||
$input = array("a" => 1, -23 => 2);
|
||||
array_shift($input);
|
||||
var_dump($input);
|
||||
}
|
||||
|
||||
function d() {
|
||||
$input = array("orange", "banana", "apple", "raspberry");
|
||||
$fruit = array_shift($input);
|
||||
var_dump($input);
|
||||
var_dump($fruit);
|
||||
}
|
||||
|
||||
a();
|
||||
b();
|
||||
c();
|
||||
d();
|
||||
@@ -0,0 +1,21 @@
|
||||
array(1) {
|
||||
["b"]=>
|
||||
int(2)
|
||||
}
|
||||
array(1) {
|
||||
[0]=>
|
||||
int(2)
|
||||
}
|
||||
array(1) {
|
||||
[0]=>
|
||||
int(2)
|
||||
}
|
||||
array(3) {
|
||||
[0]=>
|
||||
string(6) "banana"
|
||||
[1]=>
|
||||
string(5) "apple"
|
||||
[2]=>
|
||||
string(9) "raspberry"
|
||||
}
|
||||
string(6) "orange"
|
||||
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
$input = array("a", "b", "c", "d", "e");
|
||||
|
||||
var_dump(array_slice($input, 2));
|
||||
var_dump(array_slice($input, 2, null));
|
||||
var_dump(array_slice($input, -2, 1));
|
||||
var_dump(array_slice($input, 0, 3));
|
||||
|
||||
// note the differences in the array keys
|
||||
var_dump(array_slice($input, 2, -1));
|
||||
var_dump(array_slice($input, 2, -1, true));
|
||||
|
||||
var_dump(array_slice(array("a", "b", "c"), 1, 2, true));
|
||||
var_dump(array_slice(array("a", "b", "c"), 1, 2, false));
|
||||
$a = array("a" => "g", 0 => "a", 1 => "b", 2 => "c");
|
||||
unset($a['a']);
|
||||
var_dump(array_slice($a, 1, 2, true));
|
||||
var_dump(array_slice($a, 1, 2, false));
|
||||
|
||||
$a = array("a" => 123, 0 => "a", 1 => "b", 2 => "c");
|
||||
unset($a['a']);
|
||||
var_dump(array_slice($a, 1, 2, true));
|
||||
var_dump(array_slice($a, 1, 2, false));
|
||||
|
||||
var_dump(array_slice(array(123, "b", "c"), 1, 2, true));
|
||||
|
||||
var_dump(array_slice(array(123, "b", "c"), 1, 2, false));
|
||||
@@ -0,0 +1,88 @@
|
||||
array(3) {
|
||||
[0]=>
|
||||
string(1) "c"
|
||||
[1]=>
|
||||
string(1) "d"
|
||||
[2]=>
|
||||
string(1) "e"
|
||||
}
|
||||
array(3) {
|
||||
[0]=>
|
||||
string(1) "c"
|
||||
[1]=>
|
||||
string(1) "d"
|
||||
[2]=>
|
||||
string(1) "e"
|
||||
}
|
||||
array(1) {
|
||||
[0]=>
|
||||
string(1) "d"
|
||||
}
|
||||
array(3) {
|
||||
[0]=>
|
||||
string(1) "a"
|
||||
[1]=>
|
||||
string(1) "b"
|
||||
[2]=>
|
||||
string(1) "c"
|
||||
}
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(1) "c"
|
||||
[1]=>
|
||||
string(1) "d"
|
||||
}
|
||||
array(2) {
|
||||
[2]=>
|
||||
string(1) "c"
|
||||
[3]=>
|
||||
string(1) "d"
|
||||
}
|
||||
array(2) {
|
||||
[1]=>
|
||||
string(1) "b"
|
||||
[2]=>
|
||||
string(1) "c"
|
||||
}
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(1) "b"
|
||||
[1]=>
|
||||
string(1) "c"
|
||||
}
|
||||
array(2) {
|
||||
[1]=>
|
||||
string(1) "b"
|
||||
[2]=>
|
||||
string(1) "c"
|
||||
}
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(1) "b"
|
||||
[1]=>
|
||||
string(1) "c"
|
||||
}
|
||||
array(2) {
|
||||
[1]=>
|
||||
string(1) "b"
|
||||
[2]=>
|
||||
string(1) "c"
|
||||
}
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(1) "b"
|
||||
[1]=>
|
||||
string(1) "c"
|
||||
}
|
||||
array(2) {
|
||||
[1]=>
|
||||
string(1) "b"
|
||||
[2]=>
|
||||
string(1) "c"
|
||||
}
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(1) "b"
|
||||
[1]=>
|
||||
string(1) "c"
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
$params = array("a" => "aaa", "0" => "apple");
|
||||
unset($params['a']);
|
||||
array_splice($params, 0, 0, array(123 => "test"));
|
||||
var_dump($params);
|
||||
|
||||
$params = array("a" => "aaa", "1" => "apple");
|
||||
unset($params['a']);
|
||||
array_splice($params, 0, 0, array(123 => "test"));
|
||||
var_dump($params);
|
||||
|
||||
$input = array("red", "green", "blue", "yellow");
|
||||
array_splice($input, 2);
|
||||
var_dump($input);
|
||||
|
||||
$input = array("red", "green", "blue", "yellow");
|
||||
array_splice($input, 2, null);
|
||||
var_dump($input, array("red", "green"));
|
||||
|
||||
$input = array("red", "green", "blue", "yellow");
|
||||
array_splice($input, 1, -1);
|
||||
var_dump($input, array("red", "yellow"));
|
||||
|
||||
$input = array("red", "green", "blue", "yellow");
|
||||
array_splice($input, 1, 4, "orange");
|
||||
var_dump($input);
|
||||
|
||||
$input = array("red", "green", "blue", "yellow");
|
||||
array_splice($input, -1, 1, array("black", "maroon"));
|
||||
var_dump($input);
|
||||
|
||||
$input = array("red", "green", "blue", "yellow");
|
||||
array_splice($input, 3, 0, "purple");
|
||||
var_dump($input);
|
||||
@@ -0,0 +1,72 @@
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(4) "test"
|
||||
[1]=>
|
||||
string(5) "apple"
|
||||
}
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(4) "test"
|
||||
[1]=>
|
||||
string(5) "apple"
|
||||
}
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(3) "red"
|
||||
[1]=>
|
||||
string(5) "green"
|
||||
}
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(3) "red"
|
||||
[1]=>
|
||||
string(5) "green"
|
||||
}
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(3) "red"
|
||||
[1]=>
|
||||
string(5) "green"
|
||||
}
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(3) "red"
|
||||
[1]=>
|
||||
string(6) "yellow"
|
||||
}
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(3) "red"
|
||||
[1]=>
|
||||
string(6) "yellow"
|
||||
}
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(3) "red"
|
||||
[1]=>
|
||||
string(6) "orange"
|
||||
}
|
||||
array(5) {
|
||||
[0]=>
|
||||
string(3) "red"
|
||||
[1]=>
|
||||
string(5) "green"
|
||||
[2]=>
|
||||
string(4) "blue"
|
||||
[3]=>
|
||||
string(5) "black"
|
||||
[4]=>
|
||||
string(6) "maroon"
|
||||
}
|
||||
array(5) {
|
||||
[0]=>
|
||||
string(3) "red"
|
||||
[1]=>
|
||||
string(5) "green"
|
||||
[2]=>
|
||||
string(4) "blue"
|
||||
[3]=>
|
||||
string(6) "purple"
|
||||
[4]=>
|
||||
string(6) "yellow"
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
|
||||
$a = array(2, 4, 6, 8);
|
||||
var_dump(array_sum($a));
|
||||
$b = array("a" => 1.2, "b" => 2.3, "c" => 3.4);
|
||||
var_dump(array_sum($b));
|
||||
@@ -0,0 +1,2 @@
|
||||
int(20)
|
||||
float(6.9)
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
function comp_func($n1,$n2) {
|
||||
$n1=(int)$n1; $n2=(int)$n2;
|
||||
return $n1 === $n2 ? 0 : ($n1 > $n2 ? 1 : -1);
|
||||
}
|
||||
|
||||
$a = array("0.1" => 9, "0.5" => 12, 0 => 23, 1 => 4, 2 => -15);
|
||||
$b = array("0.2" => 9, "0.5" => 22, 0 => 3, 1 => 4, 2 => -15);
|
||||
$result = array_udiff($a, $b, "comp_func");
|
||||
var_dump($result);
|
||||
@@ -0,0 +1,6 @@
|
||||
array(2) {
|
||||
["0.5"]=>
|
||||
int(12)
|
||||
[0]=>
|
||||
int(23)
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
<?php
|
||||
|
||||
function comp_func($n1,$n2) {
|
||||
$n1=(int)$n1; $n2=(int)$n2;
|
||||
return $n1 === $n2 ? 0 : ($n1 > $n2 ? 1 : -1);
|
||||
}
|
||||
|
||||
$a = array("0.1" => 9, "0.5" => 12, 0 => 23, 1 => 4, 2 => -15);
|
||||
$b = array("0.2" => 9, "0.5" => 22, 0 => 3, 1 => 4, 2 => -15);
|
||||
|
||||
$result = array_udiff_assoc($a, $b, "comp_func");
|
||||
var_dump($result);
|
||||
@@ -0,0 +1,8 @@
|
||||
array(3) {
|
||||
["0.1"]=>
|
||||
int(9)
|
||||
["0.5"]=>
|
||||
int(12)
|
||||
[0]=>
|
||||
int(23)
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
$array1 = array(
|
||||
"a" => "green",
|
||||
"b" => "brown",
|
||||
"c" => "blue",
|
||||
"red"
|
||||
);
|
||||
$array2 = array(
|
||||
"a" => "GREEN",
|
||||
"B" => "brown",
|
||||
"yellow",
|
||||
"red"
|
||||
);
|
||||
var_dump(array_uintersect($array1, $array2, 'strcasecmp'));
|
||||
@@ -0,0 +1,8 @@
|
||||
array(3) {
|
||||
["a"]=>
|
||||
string(5) "green"
|
||||
["b"]=>
|
||||
string(5) "brown"
|
||||
[0]=>
|
||||
string(3) "red"
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
$array1 = array(
|
||||
"a" => "green",
|
||||
"b" => "brown",
|
||||
"c" => "blue",
|
||||
"red"
|
||||
);
|
||||
$array2 = array(
|
||||
"a" => "GREEN",
|
||||
"B" => "brown",
|
||||
"yellow",
|
||||
"red"
|
||||
);
|
||||
var_dump(array_uintersect_assoc($array1, $array2, 'strcasecmp'));
|
||||
@@ -0,0 +1,4 @@
|
||||
array(1) {
|
||||
["a"]=>
|
||||
string(5) "green"
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
$array1 = array(
|
||||
"a" => "green",
|
||||
"b" => "brown",
|
||||
"c" => "blue",
|
||||
"red"
|
||||
);
|
||||
$array2 = array(
|
||||
"a" => "GREEN",
|
||||
"B" => "brown",
|
||||
"yellow",
|
||||
"red"
|
||||
);
|
||||
var_dump(
|
||||
array_uintersect_uassoc($array1, $array2, 'strcasecmp', 'strcasecmp'));
|
||||
@@ -0,0 +1,6 @@
|
||||
array(2) {
|
||||
["a"]=>
|
||||
string(5) "green"
|
||||
["b"]=>
|
||||
string(5) "brown"
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
|
||||
function a() {
|
||||
$input = array(
|
||||
"a" => "green",
|
||||
"red",
|
||||
"b" => "green",
|
||||
"blue",
|
||||
"red"
|
||||
);
|
||||
$result = array_unique($input);
|
||||
var_dump($result);
|
||||
}
|
||||
|
||||
function b() {
|
||||
$input = array(
|
||||
4,
|
||||
"4",
|
||||
"3",
|
||||
4,
|
||||
3
|
||||
);
|
||||
$result = array_unique($input);
|
||||
var_dump($result);
|
||||
}
|
||||
|
||||
function c() {
|
||||
$input = array(
|
||||
"a" => "A",
|
||||
"b" => "C",
|
||||
0 => "1",
|
||||
2 => "01",
|
||||
1 => 1,
|
||||
"c" => "C"
|
||||
);
|
||||
var_dump(array_unique($input, SORT_STRING));
|
||||
var_dump(array_unique($input, SORT_NUMERIC));
|
||||
var_dump(array_unique($input, SORT_REGULAR));
|
||||
}
|
||||
|
||||
function d() {
|
||||
$input = array(
|
||||
1 => 1,
|
||||
'a' => 'A',
|
||||
'b' => 'C',
|
||||
0 => '1',
|
||||
2 => '01',
|
||||
'c' => 'C'
|
||||
);
|
||||
var_dump(array_unique($input, SORT_REGULAR));
|
||||
}
|
||||
|
||||
a();
|
||||
b();
|
||||
c();
|
||||
d();
|
||||
@@ -0,0 +1,48 @@
|
||||
array(3) {
|
||||
["a"]=>
|
||||
string(5) "green"
|
||||
[0]=>
|
||||
string(3) "red"
|
||||
[1]=>
|
||||
string(4) "blue"
|
||||
}
|
||||
array(2) {
|
||||
[0]=>
|
||||
int(4)
|
||||
[2]=>
|
||||
string(1) "3"
|
||||
}
|
||||
array(4) {
|
||||
["a"]=>
|
||||
string(1) "A"
|
||||
["b"]=>
|
||||
string(1) "C"
|
||||
[0]=>
|
||||
string(1) "1"
|
||||
[2]=>
|
||||
string(2) "01"
|
||||
}
|
||||
array(2) {
|
||||
["a"]=>
|
||||
string(1) "A"
|
||||
[0]=>
|
||||
string(1) "1"
|
||||
}
|
||||
array(3) {
|
||||
["a"]=>
|
||||
string(1) "A"
|
||||
["b"]=>
|
||||
string(1) "C"
|
||||
[0]=>
|
||||
string(1) "1"
|
||||
}
|
||||
array(4) {
|
||||
[1]=>
|
||||
int(1)
|
||||
["a"]=>
|
||||
string(1) "A"
|
||||
["b"]=>
|
||||
string(1) "C"
|
||||
[0]=>
|
||||
string(1) "1"
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
$q = array("orange", "banana");
|
||||
array_unshift($q, "apple", "raspberry");
|
||||
var_dump($q);
|
||||
|
||||
$q = array(0 => "orange", 1 => "banana", "a" => "dummy");
|
||||
unset($q['a']);
|
||||
array_unshift($q, "apple", "raspberry");
|
||||
var_dump($q);
|
||||
@@ -0,0 +1,20 @@
|
||||
array(4) {
|
||||
[0]=>
|
||||
string(5) "apple"
|
||||
[1]=>
|
||||
string(9) "raspberry"
|
||||
[2]=>
|
||||
string(6) "orange"
|
||||
[3]=>
|
||||
string(6) "banana"
|
||||
}
|
||||
array(4) {
|
||||
[0]=>
|
||||
string(5) "apple"
|
||||
[1]=>
|
||||
string(9) "raspberry"
|
||||
[2]=>
|
||||
string(6) "orange"
|
||||
[3]=>
|
||||
string(6) "banana"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
<?php
|
||||
$array = array("size" => "XL", "color" =>"gold");
|
||||
var_dump(array_values($array));
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(2) "XL"
|
||||
[1]=>
|
||||
string(4) "gold"
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
function test_print($item,$key) {
|
||||
echo "$key: $item\n";
|
||||
}
|
||||
|
||||
function test_alter(&$item,$key,$prefix) {
|
||||
$item = $prefix.': '.$item;
|
||||
}
|
||||
|
||||
$fruits = array("d" => "lemon",
|
||||
"a" => "orange",
|
||||
"b" => "banana",
|
||||
"c" => "apple");
|
||||
|
||||
array_walk($fruits, "test_print");
|
||||
array_walk($fruits, "test_alter", "fruit");
|
||||
array_walk($fruits, "test_print");
|
||||
@@ -0,0 +1,8 @@
|
||||
d: lemon
|
||||
a: orange
|
||||
b: banana
|
||||
c: apple
|
||||
d: fruit: lemon
|
||||
a: fruit: orange
|
||||
b: fruit: banana
|
||||
c: fruit: apple
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
function test_print($item,$key) {
|
||||
echo "$key: $item\n";
|
||||
}
|
||||
|
||||
$sweet = array("a" => "apple", "b" => "banana");
|
||||
$fruits = array("sweet" => $sweet, "sour" => "lemon");
|
||||
|
||||
array_walk_recursive($fruits, "test_print");
|
||||
@@ -0,0 +1,3 @@
|
||||
a: apple
|
||||
b: banana
|
||||
sour: lemon
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
$fruits = array(
|
||||
"d" => "lemon",
|
||||
"a" => "orange",
|
||||
"b" => "banana",
|
||||
"c" => "apple"
|
||||
);
|
||||
arsort($fruits);
|
||||
var_dump($fruits);
|
||||
|
||||
|
||||
$fruits = array(
|
||||
"d" => "lemon",
|
||||
"a" => "orange",
|
||||
"b" => "banana",
|
||||
"c" => "apple"
|
||||
);
|
||||
ksort($fruits);
|
||||
var_dump($fruits);
|
||||
|
||||
|
||||
$fruits = array(
|
||||
"d" => "lemon",
|
||||
"a" => "orange",
|
||||
"b" => "banana",
|
||||
"c" => "apple"
|
||||
);
|
||||
krsort($fruits);
|
||||
var_dump($fruits);
|
||||
@@ -0,0 +1,30 @@
|
||||
array(4) {
|
||||
["a"]=>
|
||||
string(6) "orange"
|
||||
["d"]=>
|
||||
string(5) "lemon"
|
||||
["b"]=>
|
||||
string(6) "banana"
|
||||
["c"]=>
|
||||
string(5) "apple"
|
||||
}
|
||||
array(4) {
|
||||
["a"]=>
|
||||
string(6) "orange"
|
||||
["b"]=>
|
||||
string(6) "banana"
|
||||
["c"]=>
|
||||
string(5) "apple"
|
||||
["d"]=>
|
||||
string(5) "lemon"
|
||||
}
|
||||
array(4) {
|
||||
["d"]=>
|
||||
string(5) "lemon"
|
||||
["c"]=>
|
||||
string(5) "apple"
|
||||
["b"]=>
|
||||
string(6) "banana"
|
||||
["a"]=>
|
||||
string(6) "orange"
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
$fruits = array(
|
||||
"d" => "lemon",
|
||||
"a" => "orange",
|
||||
"b" => "banana",
|
||||
"c" => "apple"
|
||||
);
|
||||
|
||||
asort($fruits);
|
||||
var_dump($fruits);
|
||||
|
||||
$arr = array("at", "\xe0s", "as");
|
||||
i18n_loc_set_default("en_US");
|
||||
asort($arr, 0, true);
|
||||
$arr = array("num2ber", "num1ber", "num10ber");
|
||||
i18n_loc_set_default("en_US");
|
||||
i18n_loc_set_attribute(UCOL_NUMERIC_COLLATION, UCOL_ON);
|
||||
i18n_loc_set_strength(UCOL_PRIMARY);
|
||||
asort($arr, SORT_REGULAR, true);
|
||||
i18n_loc_set_attribute(UCOL_NUMERIC_COLLATION, UCOL_DEFAULT);
|
||||
i18n_loc_set_strength(UCOL_DEFAULT);
|
||||
var_dump($arr);
|
||||
|
||||
$arr = array("G\xediron", // í (Latin-1)
|
||||
"G\xc3\xb3nzales", // ó (UTF-8)
|
||||
"G\xc3\xa9 ara", // é (UTF-8)
|
||||
"G\xe1rcia"); // á (Latin-1)
|
||||
i18n_loc_set_default("en_US");
|
||||
i18n_loc_set_attribute(UCOL_NUMERIC_COLLATION, UCOL_ON);
|
||||
i18n_loc_set_strength(UCOL_PRIMARY);
|
||||
asort($arr, SORT_REGULAR, true);
|
||||
i18n_loc_set_attribute(UCOL_NUMERIC_COLLATION, UCOL_DEFAULT);
|
||||
i18n_loc_set_strength(UCOL_DEFAULT);
|
||||
var_dump($arr);
|
||||
@@ -0,0 +1,28 @@
|
||||
array(4) {
|
||||
["c"]=>
|
||||
string(5) "apple"
|
||||
["b"]=>
|
||||
string(6) "banana"
|
||||
["d"]=>
|
||||
string(5) "lemon"
|
||||
["a"]=>
|
||||
string(6) "orange"
|
||||
}
|
||||
array(3) {
|
||||
[1]=>
|
||||
string(7) "num1ber"
|
||||
[0]=>
|
||||
string(7) "num2ber"
|
||||
[2]=>
|
||||
string(8) "num10ber"
|
||||
}
|
||||
array(4) {
|
||||
[0]=>
|
||||
string(6) "Gíiron"
|
||||
[1]=>
|
||||
string(9) "Gónzales"
|
||||
[2]=>
|
||||
string(7) "Gé ara"
|
||||
[3]=>
|
||||
string(6) "Gárcia"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
<?php
|
||||
|
||||
$input_array = array("FirSt" => 1, "SecOnd" => 4);
|
||||
var_dump(array_change_key_case($input_array, CASE_UPPER));
|
||||
@@ -0,0 +1,6 @@
|
||||
array(2) {
|
||||
["FIRST"]=>
|
||||
int(1)
|
||||
["SECOND"]=>
|
||||
int(4)
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
$a = array();
|
||||
$a[0] = 1;
|
||||
$a[1] = 3;
|
||||
$a[2] = 5;
|
||||
var_dump(count($a));
|
||||
|
||||
$b = array();
|
||||
$b[0] = 7;
|
||||
$b[5] = 9;
|
||||
$b[10] = 11;
|
||||
var_dump(count($b));
|
||||
|
||||
var_dump(count(null));
|
||||
var_dump(count(false));
|
||||
|
||||
$food = array(
|
||||
"fruits" => array("orange", "banana", "apple"),
|
||||
"veggie" => array("carrot", "collard", "pea")
|
||||
);
|
||||
var_dump(count($food, COUNT_RECURSIVE));
|
||||
var_dump(count($food));
|
||||
@@ -0,0 +1,6 @@
|
||||
int(3)
|
||||
int(3)
|
||||
int(0)
|
||||
int(1)
|
||||
int(8)
|
||||
int(2)
|
||||
@@ -0,0 +1,3 @@
|
||||
<?php
|
||||
$array = array(1, "hello", 1, "world", "hello");
|
||||
var_dump(array_count_values($array));
|
||||
@@ -0,0 +1,8 @@
|
||||
array(3) {
|
||||
[1]=>
|
||||
int(2)
|
||||
["hello"]=>
|
||||
int(2)
|
||||
["world"]=>
|
||||
int(1)
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
function a() {
|
||||
$transport = array("foot", "bike", "car", "plane");
|
||||
var_dump(current($transport));
|
||||
var_dump(next($transport));
|
||||
var_dump(current($transport));
|
||||
var_dump(prev($transport));
|
||||
var_dump(end($transport));
|
||||
var_dump(current($transport));
|
||||
}
|
||||
|
||||
function b() {
|
||||
$arr = array();
|
||||
var_dump(current($arr));
|
||||
}
|
||||
|
||||
function c() {
|
||||
$arr = array(array());
|
||||
var_dump(current($arr));
|
||||
}
|
||||
|
||||
a();
|
||||
b();
|
||||
c();
|
||||
@@ -0,0 +1,9 @@
|
||||
string(4) "foot"
|
||||
string(4) "bike"
|
||||
string(4) "bike"
|
||||
string(4) "foot"
|
||||
string(5) "plane"
|
||||
string(5) "plane"
|
||||
bool(false)
|
||||
array(0) {
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
function a() {
|
||||
$foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese");
|
||||
$bar = each($foo);
|
||||
var_dump($bar);
|
||||
}
|
||||
|
||||
function b() {
|
||||
$foo = array("Robert" => "Bob", "Seppo" => "Sepi");
|
||||
$bar = each($foo);
|
||||
var_dump($bar);
|
||||
}
|
||||
|
||||
function c() {
|
||||
$fruit = array("a" => "apple", "b" => "banana", "c" => "cranberry");
|
||||
reset($fruit);
|
||||
$output = '';
|
||||
while (true) {
|
||||
$item = each($fruit);
|
||||
if ($item === false) break;
|
||||
$output .= $item[0];
|
||||
$output .= ": ";
|
||||
$output .= $item[1];
|
||||
$output .= "\n";
|
||||
}
|
||||
var_dump($output);
|
||||
}
|
||||
|
||||
a();
|
||||
b();
|
||||
c();
|
||||
Alguns arquivos não foram exibidos porque demasiados arquivos foram alterados neste diff Mostrar Mais
Referência em uma Nova Issue
Bloquear um usuário