123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306 |
- --TEST--
- str_pad() function
- --INI--
- precision=14
- --FILE--
- <?php
- /* Pad a string to a certain length with another string */
- echo "\n#### Basic operations ####\n";
- $input_string = "str_pad()";
- $pad_length = 20;
- $pad_string = "-+";
- var_dump( str_pad($input_string, $pad_length) ); // default pad_string & pad_type
- var_dump( str_pad($input_string, $pad_length, $pad_string) ); // default pad_type
- var_dump( str_pad($input_string, $pad_length, $pad_string, STR_PAD_LEFT) );
- var_dump( str_pad($input_string, $pad_length, $pad_string, STR_PAD_RIGHT) );
- var_dump( str_pad($input_string, $pad_length, $pad_string, STR_PAD_BOTH) );
- echo "\n#### variations with input string and pad-length ####\n";
- /* different input string variation */
- $input_strings = array(
- "variation", // normal string
- "", // empty string
- true, // boolean
- 15, // numeric
- 15.55, // numeric
- "2990" // numeric string
- );
- /* different pad_lengths */
- $pad_lengths = array(
- -PHP_INT_MAX, // huge negative value
- -1, // negative value
- 0, // pad_length < sizeof(input_string)
- 9, // pad_length <= sizeof(input_string)
- 10, // pad_length > sizeof(input_string)
- 16, // pad_length > sizeof(input_string)
- );
- $pad_string = "=";
- /* loop through to use each variant of $pad_length on each element of $input_strings array */
- foreach ($input_strings as $input_string ) {
- foreach ($pad_lengths as $pad_length ) {
- var_dump( str_pad($input_string, $pad_length) ); // default pad_string & pad_type
- var_dump( str_pad($input_string, $pad_length, $pad_string) ); // default pad_type
- var_dump( str_pad($input_string, $pad_length, $pad_string, STR_PAD_LEFT) );
- var_dump( str_pad($input_string, $pad_length, $pad_string, STR_PAD_RIGHT) );
- var_dump( str_pad($input_string, $pad_length, $pad_string, STR_PAD_BOTH) );
- }
- }
- echo "\n#### variation with pad string ####\n";
- $pad_strings = array ("=", 1, true, "string_pad", 1.5, "\t", '\t');
- $input_string="variation";
- $pad_length = 16;
- foreach ( $pad_strings as $pad_string ) {
- var_dump( str_pad($input_string, $pad_length, $pad_string) ); // default pad_type
- var_dump( str_pad($input_string, $pad_length, $pad_string, STR_PAD_LEFT) );
- var_dump( str_pad($input_string, $pad_length, $pad_string, STR_PAD_RIGHT) );
- var_dump( str_pad($input_string, $pad_length, $pad_string, STR_PAD_BOTH) );
- }
- echo "\n#### error conditions ####\n";
- echo "\n--- empty padding string ---\n";
- try {
- str_pad($input_string, 12, "");
- } catch (\ValueError $e) {
- echo $e->getMessage() . "\n";
- }
- /* bad pad_type - passing an undefined one */
- try {
- str_pad($input_string, $pad_length, "+", 15);
- } catch (\ValueError $e) {
- echo $e->getMessage() . "\n";
- }
- ?>
- --EXPECT--
- #### Basic operations ####
- string(20) "str_pad() "
- string(20) "str_pad()-+-+-+-+-+-"
- string(20) "-+-+-+-+-+-str_pad()"
- string(20) "str_pad()-+-+-+-+-+-"
- string(20) "-+-+-str_pad()-+-+-+"
- #### variations with input string and pad-length ####
- string(9) "variation"
- string(9) "variation"
- string(9) "variation"
- string(9) "variation"
- string(9) "variation"
- string(9) "variation"
- string(9) "variation"
- string(9) "variation"
- string(9) "variation"
- string(9) "variation"
- string(9) "variation"
- string(9) "variation"
- string(9) "variation"
- string(9) "variation"
- string(9) "variation"
- string(9) "variation"
- string(9) "variation"
- string(9) "variation"
- string(9) "variation"
- string(9) "variation"
- string(10) "variation "
- string(10) "variation="
- string(10) "=variation"
- string(10) "variation="
- string(10) "variation="
- string(16) "variation "
- string(16) "variation======="
- string(16) "=======variation"
- string(16) "variation======="
- string(16) "===variation===="
- string(0) ""
- string(0) ""
- string(0) ""
- string(0) ""
- string(0) ""
- string(0) ""
- string(0) ""
- string(0) ""
- string(0) ""
- string(0) ""
- string(0) ""
- string(0) ""
- string(0) ""
- string(0) ""
- string(0) ""
- string(9) " "
- string(9) "========="
- string(9) "========="
- string(9) "========="
- string(9) "========="
- string(10) " "
- string(10) "=========="
- string(10) "=========="
- string(10) "=========="
- string(10) "=========="
- string(16) " "
- string(16) "================"
- string(16) "================"
- string(16) "================"
- string(16) "================"
- string(1) "1"
- string(1) "1"
- string(1) "1"
- string(1) "1"
- string(1) "1"
- string(1) "1"
- string(1) "1"
- string(1) "1"
- string(1) "1"
- string(1) "1"
- string(1) "1"
- string(1) "1"
- string(1) "1"
- string(1) "1"
- string(1) "1"
- string(9) "1 "
- string(9) "1========"
- string(9) "========1"
- string(9) "1========"
- string(9) "====1===="
- string(10) "1 "
- string(10) "1========="
- string(10) "=========1"
- string(10) "1========="
- string(10) "====1====="
- string(16) "1 "
- string(16) "1==============="
- string(16) "===============1"
- string(16) "1==============="
- string(16) "=======1========"
- string(2) "15"
- string(2) "15"
- string(2) "15"
- string(2) "15"
- string(2) "15"
- string(2) "15"
- string(2) "15"
- string(2) "15"
- string(2) "15"
- string(2) "15"
- string(2) "15"
- string(2) "15"
- string(2) "15"
- string(2) "15"
- string(2) "15"
- string(9) "15 "
- string(9) "15======="
- string(9) "=======15"
- string(9) "15======="
- string(9) "===15===="
- string(10) "15 "
- string(10) "15========"
- string(10) "========15"
- string(10) "15========"
- string(10) "====15===="
- string(16) "15 "
- string(16) "15=============="
- string(16) "==============15"
- string(16) "15=============="
- string(16) "=======15======="
- string(5) "15.55"
- string(5) "15.55"
- string(5) "15.55"
- string(5) "15.55"
- string(5) "15.55"
- string(5) "15.55"
- string(5) "15.55"
- string(5) "15.55"
- string(5) "15.55"
- string(5) "15.55"
- string(5) "15.55"
- string(5) "15.55"
- string(5) "15.55"
- string(5) "15.55"
- string(5) "15.55"
- string(9) "15.55 "
- string(9) "15.55===="
- string(9) "====15.55"
- string(9) "15.55===="
- string(9) "==15.55=="
- string(10) "15.55 "
- string(10) "15.55====="
- string(10) "=====15.55"
- string(10) "15.55====="
- string(10) "==15.55==="
- string(16) "15.55 "
- string(16) "15.55==========="
- string(16) "===========15.55"
- string(16) "15.55==========="
- string(16) "=====15.55======"
- string(4) "2990"
- string(4) "2990"
- string(4) "2990"
- string(4) "2990"
- string(4) "2990"
- string(4) "2990"
- string(4) "2990"
- string(4) "2990"
- string(4) "2990"
- string(4) "2990"
- string(4) "2990"
- string(4) "2990"
- string(4) "2990"
- string(4) "2990"
- string(4) "2990"
- string(9) "2990 "
- string(9) "2990====="
- string(9) "=====2990"
- string(9) "2990====="
- string(9) "==2990==="
- string(10) "2990 "
- string(10) "2990======"
- string(10) "======2990"
- string(10) "2990======"
- string(10) "===2990==="
- string(16) "2990 "
- string(16) "2990============"
- string(16) "============2990"
- string(16) "2990============"
- string(16) "======2990======"
- #### variation with pad string ####
- string(16) "variation======="
- string(16) "=======variation"
- string(16) "variation======="
- string(16) "===variation===="
- string(16) "variation1111111"
- string(16) "1111111variation"
- string(16) "variation1111111"
- string(16) "111variation1111"
- string(16) "variation1111111"
- string(16) "1111111variation"
- string(16) "variation1111111"
- string(16) "111variation1111"
- string(16) "variationstring_"
- string(16) "string_variation"
- string(16) "variationstring_"
- string(16) "strvariationstri"
- string(16) "variation1.51.51"
- string(16) "1.51.51variation"
- string(16) "variation1.51.51"
- string(16) "1.5variation1.51"
- string(16) "variation "
- string(16) " variation"
- string(16) "variation "
- string(16) " variation "
- string(16) "variation\t\t\t\"
- string(16) "\t\t\t\variation"
- string(16) "variation\t\t\t\"
- string(16) "\t\variation\t\t"
- #### error conditions ####
- --- empty padding string ---
- str_pad(): Argument #3 ($pad_string) must be a non-empty string
- str_pad(): Argument #4 ($pad_type) must be STR_PAD_LEFT, STR_PAD_RIGHT, or STR_PAD_BOTH
|