Here is the easiest way to call a Function, or Class method dinamically, with Name from a String, stored into a variable or array item.
-
Click on the code to select it.
1.
Calling function with name stored into a variable use:
$variable($parameters)
<?php
function url($adr){
return 'http://'. $adr;
}
// variable with function name
$fun = 'url';
// calls the functions with name from $fun
$val = $fun('coursesweb.net/php-mysql/');
echo $val; // https://coursesweb.net/php-mysql/
2.
Calling function with name stored into a string in array item use:
$array["key"]($parameters)
<?php
function getSum($x, $y){
return $x + $y;
}
function hi(){
echo 'Hello Friend';
}
// array with function names
$arr = ['f1'=>'getSum', 'f2'=>'hi'];
// calls the functions with name from $arr array
$sum = $arr['f1'](12, 89);
echo $sum; // 101
echo $arr['f2'](); // Hello Friend
3.
Calling class method with name from string in variable (add the variable with the method name within " {} "):
$object->{$variable}($parameter)
<?php
// PHP Class
class Cls {
// class method
public function site($str){
return 'http://'. $str;
}
}
// varible with method name
$method = 'site';
$obC = new Cls;
$val = $obC->{$method}('coursesweb.net/');
echo $val; // https://coursesweb.net/
4.
Calling class method with name from string in array item (add the array item with the method name within " {} "):
$object->{$array['key']}($parameters)
<?php
// PHP Class
class Cls {
// class methods
public function getSum($x, $y){
return $x + $y;
}
public function hi(){
return 'Hello Friend';
}
}
// array with method names
$mts = ['m1'=>'getSum', 'm2'=>'hi'];
$obC = new Cls;
$sum = $obC->{$mts['m1']}(12, 89);
$msg = $obC->{$mts['m2']}();
echo $sum; // 101
echo $msg; // Hello Friend
Daily Test with Code Example
HTML
CSS
JavaScript
PHP-MySQL
Which tag defines the clickable areas inside the image map?
<map> <img> <area><img src="image.jpg" usemap="#map1">
<map name="map1">
<area shape="rect" coords="9, 120, 56, 149" href="#">
<area shape="rect" coords="100, 200, 156, 249" href="#">
</map>
Which CSS property defines what is done if the content in a box is too big for its defined space?
display overflow position#id {
overflow: auto;
}
Click on the event which is triggered when the mouse is positioned over an object.
onclick onmouseover onmouseoutdocument.getElementById("id").onmouseover = function(){
document.write("Have Good Life");
}
Indicate the PHP variable that contains data added in URL address after the "?" character.
$_SESSION $_GET $_POSTif(isset($_GET["id"])) {
echo $_GET["id"];
}