在 PHP 函数中使用参数文本
Using argument text in PHP Function
我对 PHP 世界有点陌生,尽管我使用谷歌搜索和手动阅读,但我不能
我目前(从道德上讲!)抓取一个有许多不同类别的网站(我们称它们为 'alpha'、'beta'、'gamma')。
目前,我经历了这些步骤:
- 加载文件
- 找到正确的 table (php_siomple_dom)
然后通过元素来获取信息。
$alpha_one = $element -> find etc;
$alpha_two = $element -> find etc;
$alpha_n = $element -> find etc;
$beta_one = $element -> find etc;
$beta _two = $element -> find etc;
$beta_n = $element -> find etc;
所有 table 对于 alpha、beta、gamma 都是相同的;因此我想编写一个函数,但我正在努力解决如何在我创建的变量中包含参数名称的问题。这是我的想法,但行不通。
function grab($argument) {
$argument . "_one" = $element -> find etc;
$argument . "_two" = $element -> find etc;
$argument . "_n" = $element -> find etc;
}
因此,我可以使用:
grab('alpha');
grab('beta');
grab('gamma');
无需为每个 table
写出代码
我调查了 'magic methods',但无法使其正常工作。如果某些 PHP 向导可以阐明这一点,我将不胜感激。谢谢你!
只需这样做:
function grab($argument) {
${$argument . "_one"} = $element -> find etc;
${$argument . "_two"} = $element -> find etc;
${$argument . "_n"} = $element -> find etc;
}
该代码毫无意义。 $argument . "_one"
变量将 ONLY 存在于函数中,并在函数 return 时被销毁。你可能想要更多这样的东西:
function grab($argument) {
$data = array();
$data[$argument . "_one"] = ...
$data[$argument . "_two"] = ...
etc...
return ($data);
}
本质上:根据您的 $argument
构建一个包含动态键名的数组,然后 return 整个数组到调用上下文。
$argument 仅存在于函数范围内。在这个函数之外它不会有任何影响。如果您使用的是 class,您可以创建所有可能的变量(不推荐)并调用:
$this->{$argument . "_one"} = ...
或将它们存储在数组变量中(最佳方式):
$this->myArray[$argument . '_one'] = ...
我对 PHP 世界有点陌生,尽管我使用谷歌搜索和手动阅读,但我不能
我目前(从道德上讲!)抓取一个有许多不同类别的网站(我们称它们为 'alpha'、'beta'、'gamma')。
目前,我经历了这些步骤:
- 加载文件
- 找到正确的 table (php_siomple_dom)
然后通过元素来获取信息。
$alpha_one = $element -> find etc; $alpha_two = $element -> find etc; $alpha_n = $element -> find etc; $beta_one = $element -> find etc; $beta _two = $element -> find etc; $beta_n = $element -> find etc;
所有 table 对于 alpha、beta、gamma 都是相同的;因此我想编写一个函数,但我正在努力解决如何在我创建的变量中包含参数名称的问题。这是我的想法,但行不通。
function grab($argument) { $argument . "_one" = $element -> find etc; $argument . "_two" = $element -> find etc; $argument . "_n" = $element -> find etc; }
因此,我可以使用:
grab('alpha');
grab('beta');
grab('gamma');
无需为每个 table
写出代码我调查了 'magic methods',但无法使其正常工作。如果某些 PHP 向导可以阐明这一点,我将不胜感激。谢谢你!
只需这样做:
function grab($argument) {
${$argument . "_one"} = $element -> find etc;
${$argument . "_two"} = $element -> find etc;
${$argument . "_n"} = $element -> find etc;
}
该代码毫无意义。 $argument . "_one"
变量将 ONLY 存在于函数中,并在函数 return 时被销毁。你可能想要更多这样的东西:
function grab($argument) {
$data = array();
$data[$argument . "_one"] = ...
$data[$argument . "_two"] = ...
etc...
return ($data);
}
本质上:根据您的 $argument
构建一个包含动态键名的数组,然后 return 整个数组到调用上下文。
$argument 仅存在于函数范围内。在这个函数之外它不会有任何影响。如果您使用的是 class,您可以创建所有可能的变量(不推荐)并调用:
$this->{$argument . "_one"} = ...
或将它们存储在数组变量中(最佳方式):
$this->myArray[$argument . '_one'] = ...