/iaLib/ia_examples/ia/Lib/iaArray_example.php
<?php
$ia_example = [
'title' => 'ia\Lib\iaArray', // fully qualified className
'summary' => '', // class summary
'full_example' => '', // full usage example, relative path from ia_examples, blank '' not shown.
'example_file' => 'code/ia/Lib/iaArray_example_code.php', // method by method example, blank '' not shown.
];
include( __DIR__ . '/../../template/ia_example_class.php');
/iaLib/ia_examples/code/ia/Lib/iaArray_example_code.php
use ia\Lib\iaArray;
use ia\DocumentIt\DocumentIt;
echo '<h3>Disclaimer: Auto generated file.
Please help us setting parameters to useful values and extending the examples.
</h3>';
try {
echo '<ul class="usage">';
///////// iaArray::array_key_exists_insensitive('palabra', ['a' => '1', 'b' => '2', 'c' => 3]); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_array_key_exists_insensitive'><b>iaArray::array_key_exists_insensitive(<span class="type">string \$key</span> \$key, <span class="type">array</span> \$array) <span>: bool</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Lib\iaArray", "array_key_exists_insensitive")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>iaArray::array_key_exists_insensitive('palabra', ['a' => '1', 'b' => '2', 'c' => 3]); ->
DOCUMENT_EXAMPLE;
///run ///
echo (iaArray::array_key_exists_insensitive('palabra', ['a' => '1', 'b' => '2', 'c' => 3]) ? 'true' : 'false');
echo '</ol>';
///////// iaArray::get_key_insensitive('palabra', ['a' => '1', 'b' => '2', 'c' => 3]); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_get_key_insensitive'><b>iaArray::get_key_insensitive(<span class="type">string</span> \$key, <span class="type">array</span> \$array, <span class="type">mixed</span> \$notFoundValue <span class="default">= null</span>) <span>: mixed</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Lib\iaArray", "get_key_insensitive")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>iaArray::get_key_insensitive('palabra', ['a' => '1', 'b' => '2', 'c' => 3]);
-> </b><br><pre>
DOCUMENT_EXAMPLE;
/// run ///
print_r(
iaArray::get_key_insensitive('palabra', ['a' => '1', 'b' => '2', 'c' => 3])
);
echo "</pre>";
echo '</ol>';
///////// iaArray::array_key_n(['a' => '1', 'b' => '2', 'c' => 3], 3); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_array_key_n'><b>iaArray::array_key_n(<span class="type">array</span> \$array, <span class="type">int</span> \$keyPosition, <span class="type">string</span> \$notFoundKey <span class="default">= null</span>) <span>: string</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Lib\iaArray", "array_key_n")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>iaArray::array_key_n(['a' => '1', 'b' => '2', 'c' => 3], 3); ->
DOCUMENT_EXAMPLE;
/// run ///
echo iaArray::array_key_n(['a' => '1', 'b' => '2', 'c' => 3], 3);
echo '</ol>';
///////// iaArray::change_array_keys(['a' => '1', 'b' => '2', 'c' => 3], ['a' => '1', 'b' => '2', 'c' => 3]); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_change_array_keys'><b>iaArray::change_array_keys(<span class="type">array</span> \$data, <span class="type">array</span> \$keyMap, <span class="type">bool</span> \$includeNonMappedKeys <span class="default">= true</span>) <span>: array</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Lib\iaArray", "change_array_keys")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>iaArray::change_array_keys(['a' => '1', 'b' => '2', 'c' => 3], ['a' => '1', 'b' => '2', 'c' => 3]);
-> </b><br><pre>
DOCUMENT_EXAMPLE;
/// run ///
print_r(
iaArray::change_array_keys(['a' => '1', 'b' => '2', 'c' => 3], ['a' => '1', 'b' => '2', 'c' => 3])
);
echo "</pre>";
echo '</ol>';
///////// iaArray::in_array_case_insensitive(null /* == */, null /* == */); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_in_array_case_insensitive'><b>iaArray::in_array_case_insensitive(<span class="type"></span> \$needle, <span class="type"></span> \$haystack) <span>: </span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Lib\iaArray", "in_array_case_insensitive")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>iaArray::in_array_case_insensitive(null /* == */, null /* == */);
-> </b><br><pre>
DOCUMENT_EXAMPLE;
/// run ///
print_r(
iaArray::in_array_case_insensitive(null /* == */, null /* == */)
);
echo "</pre>";
echo '</ol>';
///////// iaArray::compare(null /* == */, null /* == */); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_compare'><b>iaArray::compare(<span class="type"></span> \$a, <span class="type"></span> \$b) <span>: </span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Lib\iaArray", "compare")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>iaArray::compare(null /* == */, null /* == */);
-> </b><br><pre>
DOCUMENT_EXAMPLE;
/// run ///
print_r(
iaArray::compare(null /* == */, null /* == */)
);
echo "</pre>";
echo '</ol>';
///////// iaArray::array_changes(['a' => '1', 'b' => '2', 'c' => 3], ['a' => '1', 'b' => '2', 'c' => 3]); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_array_changes'><b>iaArray::array_changes(<span class="type">array</span> \$after, <span class="type">array</span> \$before) <span>: array</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Lib\iaArray", "array_changes")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>iaArray::array_changes(['a' => '1', 'b' => '2', 'c' => 3], ['a' => '1', 'b' => '2', 'c' => 3]);
-> </b><br><pre>
DOCUMENT_EXAMPLE;
/// run ///
print_r(
iaArray::array_changes(['a' => '1', 'b' => '2', 'c' => 3], ['a' => '1', 'b' => '2', 'c' => 3])
);
echo "</pre>";
echo '</ol>';
///////// iaArray::arrayExtend(['a' => '1', 'b' => '2', 'c' => 3], ['a' => '1', 'b' => '2', 'c' => 3]); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_arrayExtend'><b>iaArray::arrayExtend(<span class="type">array</span> &\$base, <span class="type">array</span> \$extendWith) <span>: void</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Lib\iaArray", "arrayExtend")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>iaArray::arrayExtend(['a' => '1', 'b' => '2', 'c' => 3], ['a' => '1', 'b' => '2', 'c' => 3]);"
DOCUMENT_EXAMPLE;
/// run ///
// echo iaArray::arrayExtend(['a' => '1', 'b' => '2', 'c' => 3], ['a' => '1', 'b' => '2', 'c' => 3]);
echo '</ol>';
///////// iaArray::expandKeyToArray(['a' => '1', 'b' => '2', 'c' => 3], 'palabra'); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_expandKeyToArray'><b>iaArray::expandKeyToArray(<span class="type">array</span> \$array, <span class="type">string</span> \$separator) <span>: array</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Lib\iaArray", "expandKeyToArray")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>iaArray::expandKeyToArray(['a' => '1', 'b' => '2', 'c' => 3], 'palabra');
-> </b><br><pre>
DOCUMENT_EXAMPLE;
/// run ///
print_r(
iaArray::expandKeyToArray(['a' => '1', 'b' => '2', 'c' => 3], 'palabra')
);
echo "</pre>";
echo '</ol>';
///////// iaArray::tupplesToArrayAssoc(['a' => '1', 'b' => '2', 'c' => 3]); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_tupplesToArrayAssoc'><b>iaArray::tupplesToArrayAssoc(<span class="type">array</span> \$list) <span>: array</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Lib\iaArray", "tupplesToArrayAssoc")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>iaArray::tupplesToArrayAssoc(['a' => '1', 'b' => '2', 'c' => 3]);
-> </b><br><pre>
DOCUMENT_EXAMPLE;
/// run ///
print_r(
iaArray::tupplesToArrayAssoc(['a' => '1', 'b' => '2', 'c' => 3])
);
echo "</pre>";
echo '</ol>';
///////// iaArray::tupplesToArrayPath(['a' => '1', 'b' => '2', 'c' => 3]); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_tupplesToArrayPath'><b>iaArray::tupplesToArrayPath(<span class="type">array</span> \$array, <span class="type">string</span> \$pathSeparator <span class="default">= ' '</span>) <span>: array</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Lib\iaArray", "tupplesToArrayPath")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>iaArray::tupplesToArrayPath(['a' => '1', 'b' => '2', 'c' => 3]);
-> </b><br><pre>
DOCUMENT_EXAMPLE;
/// run ///
print_r(
iaArray::tupplesToArrayPath(['a' => '1', 'b' => '2', 'c' => 3])
);
echo "</pre>";
echo '</ol>';
///////// iaArray::arrayGetPath(['a' => '1', 'b' => '2', 'c' => 3], 'palabra'); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_arrayGetPath'><b>iaArray::arrayGetPath(<span class="type">array</span> \$array, <span class="type">string</span> \$path, <span class="type">string</span> \$pathSeparator <span class="default">= ' '</span>) <span>: mixed</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Lib\iaArray", "arrayGetPath")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>iaArray::arrayGetPath(['a' => '1', 'b' => '2', 'c' => 3], 'palabra');
-> </b><br><pre>
DOCUMENT_EXAMPLE;
/// run ///
print_r(
iaArray::arrayGetPath(['a' => '1', 'b' => '2', 'c' => 3], 'palabra')
);
echo "</pre>";
echo '</ol>';
///////// iaArray::multiKeyIt(['a' => '1', 'b' => '2', 'c' => 3], 3); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_multiKeyIt'><b>iaArray::multiKeyIt(<span class="type">array</span> \$array, <span class="type">int</span> \$numKeys) <span>: array</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Lib\iaArray", "multiKeyIt")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>iaArray::multiKeyIt(['a' => '1', 'b' => '2', 'c' => 3], 3);
-> </b><br><pre>
DOCUMENT_EXAMPLE;
/// run ///
print_r(
iaArray::multiKeyIt(['a' => '1', 'b' => '2', 'c' => 3], 3)
);
echo "</pre>";
echo '</ol>';
///////// iaArray::arrayKey2Ul(['a' => '1', 'b' => '2', 'c' => 3]); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_arrayKey2Ul'><b>iaArray::arrayKey2Ul(<span class="type">array</span> \$array, <span class="type">string</span> \$ul <span class="default">= 'ul'</span>, <span class="type">bool</span> \$displayValue <span class="default">= true</span>, <span class="type">bool</span> \$displayKey <span class="default">= false</span>, <span class="type">bool</span> \$skipHtmlentities <span class="default">= false</span>, <span class="type">bool</span> \$displayKeyNumeric <span class="default">= false</span>) <span>: string</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Lib\iaArray", "arrayKey2Ul")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>iaArray::arrayKey2Ul(['a' => '1', 'b' => '2', 'c' => 3]); ->
DOCUMENT_EXAMPLE;
/// run ///
echo iaArray::arrayKey2Ul(['a' => '1', 'b' => '2', 'c' => 3]);
echo '</ol>';
///////// iaArray::arrayKey2Ul_echo(['a' => '1', 'b' => '2', 'c' => 3]); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_arrayKey2Ul_echo'><b>iaArray::arrayKey2Ul_echo(<span class="type">array</span> \$array, <span class="type">string</span> \$ul <span class="default">= 'ul'</span>, <span class="type">bool</span> \$displayValue <span class="default">= true</span>, <span class="type">bool</span> \$displayKey <span class="default">= false</span>, <span class="type">bool</span> \$skipHtmlentities <span class="default">= false</span>, <span class="type">bool</span> \$displayKeyNumeric <span class="default">= false</span>) <span>: void</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Lib\iaArray", "arrayKey2Ul_echo")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>iaArray::arrayKey2Ul_echo(['a' => '1', 'b' => '2', 'c' => 3]);"
DOCUMENT_EXAMPLE;
/// run ///
echo iaArray::arrayKey2Ul_echo(['a' => '1', 'b' => '2', 'c' => 3]);
echo '</ol>';
/* PerfilExample adds new methods here */
echo '</ul>';
} catch(Exception $exception) { echo "<pre class='errorBlock'>$exception</pre>"; }
phpunit test file template
<?php
use ia\Lib\iaArray;
use PHPUnit\Framework\TestCase;
class iaArrayTest extends TestCase {
/**
* @dataProvider array_key_exists_insensitive_Provider
*
*/
public function test_array_key_exists_insensitive($key, $array , $expected) {
$this->assertEquals($expected, iaArray::array_key_exists_insensitive($key, $array) );
}
function array_key_exists_insensitive_Provider() {
return [
'test 1' => [ '', '', '' ],
];
}
/**
* @dataProvider get_key_insensitive_Provider
*
*/
public function test_get_key_insensitive($key, $array, $notFoundValue , $expected) {
$this->assertEquals($expected, iaArray::get_key_insensitive($key, $array, $notFoundValue) );
}
function get_key_insensitive_Provider() {
return [
'test 1' => [ '', '', '', '' ],
];
}
/**
* @dataProvider array_key_n_Provider
*
*/
public function test_array_key_n($array, $keyPosition, $notFoundKey , $expected) {
$this->assertEquals($expected, iaArray::array_key_n($array, $keyPosition, $notFoundKey) );
}
function array_key_n_Provider() {
return [
'test 1' => [ '', '', '', '' ],
];
}
/**
* @dataProvider change_array_keys_Provider
*
*/
public function test_change_array_keys($data, $keyMap, $includeNonMappedKeys , $expected) {
$this->assertEquals($expected, iaArray::change_array_keys($data, $keyMap, $includeNonMappedKeys) );
}
function change_array_keys_Provider() {
return [
'test 1' => [ '', '', '', '' ],
];
}
/**
* @dataProvider in_array_case_insensitive_Provider
*
*/
public function test_in_array_case_insensitive($needle, $haystack , $expected) {
$this->assertEquals($expected, iaArray::in_array_case_insensitive($needle, $haystack) );
}
function in_array_case_insensitive_Provider() {
return [
'test 1' => [ '', '', '' ],
];
}
/**
* @dataProvider compare_Provider
*
*/
public function test_compare($a, $b , $expected) {
$this->assertEquals($expected, iaArray::compare($a, $b) );
}
function compare_Provider() {
return [
'test 1' => [ '', '', '' ],
];
}
/**
* @dataProvider array_changes_Provider
*
*/
public function test_array_changes($after, $before , $expected) {
$this->assertEquals($expected, iaArray::array_changes($after, $before) );
}
function array_changes_Provider() {
return [
'test 1' => [ '', '', '' ],
];
}
/**
* @dataProvider arrayExtend_Provider
*
*/
public function test_arrayExtend($base, $extendWith , $expected) {
$this->assertEquals($expected, iaArray::arrayExtend($base, $extendWith) );
}
function arrayExtend_Provider() {
return [
'test 1' => [ '', '', '' ],
];
}
/**
* @dataProvider expandKeyToArray_Provider
*
*/
public function test_expandKeyToArray($array, $separator , $expected) {
$this->assertEquals($expected, iaArray::expandKeyToArray($array, $separator) );
}
function expandKeyToArray_Provider() {
return [
'test 1' => [ '', '', '' ],
];
}
/**
* @dataProvider tupplesToArrayAssoc_Provider
*
*/
public function test_tupplesToArrayAssoc($list , $expected) {
$this->assertEquals($expected, iaArray::tupplesToArrayAssoc($list) );
}
function tupplesToArrayAssoc_Provider() {
return [
'test 1' => [ '', '' ],
];
}
/**
* @dataProvider tupplesToArrayPath_Provider
*
*/
public function test_tupplesToArrayPath($array, $pathSeparator , $expected) {
$this->assertEquals($expected, iaArray::tupplesToArrayPath($array, $pathSeparator) );
}
function tupplesToArrayPath_Provider() {
return [
'test 1' => [ '', '', '' ],
];
}
/**
* @dataProvider arrayGetPath_Provider
*
*/
public function test_arrayGetPath($array, $path, $pathSeparator , $expected) {
$this->assertEquals($expected, iaArray::arrayGetPath($array, $path, $pathSeparator) );
}
function arrayGetPath_Provider() {
return [
'test 1' => [ '', '', '', '' ],
];
}
/**
* @dataProvider multiKeyIt_Provider
*
*/
public function test_multiKeyIt($array, $numKeys , $expected) {
$this->assertEquals($expected, iaArray::multiKeyIt($array, $numKeys) );
}
function multiKeyIt_Provider() {
return [
'test 1' => [ '', '', '' ],
];
}
/**
* @dataProvider arrayKey2Ul_Provider
*
*/
public function test_arrayKey2Ul($array, $ul, $displayValue, $displayKey, $skipHtmlentities, $displayKeyNumeric , $expected) {
$this->assertEquals($expected, iaArray::arrayKey2Ul($array, $ul, $displayValue, $displayKey, $skipHtmlentities, $displayKeyNumeric) );
}
function arrayKey2Ul_Provider() {
return [
'test 1' => [ '', '', '', '', '', '', '' ],
];
}
/**
* @dataProvider arrayKey2Ul_echo_Provider
*
*/
public function test_arrayKey2Ul_echo($array, $ul, $displayValue, $displayKey, $skipHtmlentities, $displayKeyNumeric , $expected) {
$this->assertEquals($expected, iaArray::arrayKey2Ul_echo($array, $ul, $displayValue, $displayKey, $skipHtmlentities, $displayKeyNumeric) );
}
function arrayKey2Ul_echo_Provider() {
return [
'test 1' => [ '', '', '', '', '', '', '' ],
];
}
}
ia Doc