新手在这里
我正在开展一个小项目,我使用下面的代码显示在大约12页上,并且及时将在另外12个页面中使用它。对我来说,这似乎我应该把它变成一个函数,我已经看了PHP.NET并阅读了一些很酷的东西,并做了一些谷歌,但没有完全以我理解的方式回答我的问题。我理解如何创建泛型函数(即函数EchoSomething(){echo'print something';}。但我不明白如何构造一个函数来调用数组并在每个循环中运行它。
这是我的起始代码,除了每次使用不同的数组名称外,其他方面都相同:
<?php
foreach($aaGenR1 AS $key => $value){
echo '<div class="3u"><a href="_img/fulls/' . $key .'" class="image full"><img src="_img/thumbs/' . $key .'" alt="" title="' . $value .'" /></a></div>';
}
?>
在我看来,我应该能够写出像
这样的东西function GetPortfolioArray(){
echo '<div class="3u"><a href="_img/fulls/' . $key .'" class="image full"><img src="_img/thumbs/' . $key .'" alt="" title="' . $value .'" /></a></div>';
}
然后当我在我的代码中调用该函数时,我会写'GetPortfolioArray($ arrayNameToBeUsed)'
我觉得我很亲近,我希望无论如何我都很亲近。感谢帮助。 谢谢。
干杯
答案 0 :(得分:1)
您必须在函数内部创建foreach:
function GetPortfolioArray($var){
foreach($var as $key => $value){
echo '<div class="3u"><a href="_img/fulls/' . $key .'" class="image full"><img src="_img/thumbs/' . $key .'" alt="" title="' . $value .'" /></a></div>';
}
}
然后你可以GetPortfolioArray($randomvar);
$randomvar
是数组
答案 1 :(得分:1)
首先,我推荐一些基本的PHP教程或更好的一些基本的软件开发教程。这是我每个初学者教程都会回答的问题。
第二个你想要的是一个函数,它将数组作为参数,迭代它并将键和值插入到字符串模板中。回答你的问题:
function printPortfolioArray($portfolioArray)
{
foreach($portfolioArray as $key => $value)
{
echo '<div class="3u"><a href="_img/fulls/' . $key .'" class="image full"><img src="_img/thumbs/' . $key .'" alt="" title="' . $value .'" /></a></div>';
}
}
最好将模板移动到第二个参数中,并将$ key和$ value替换为sprintf() and printf()中定义的格式变量
function printArray($array, $template)
{
foreach($array as $key => $value)
{
printf($template, $key, $value);
}
}
示例:
$array = ...;
$template = '<div class="3u"><a href="_img/fulls/%1$s" class="image full"><img src="_img/thumbs/%1$s" alt="" title="%2$s" /></a></div>';
printArray($array, $template);
答案 2 :(得分:1)
首先,创建一个包含的function.php文件,或者像Util.class.php这样的文件。他们将承担您的任何进一步职能。我宁愿在名为XXXXXX.class.php的文件中使用静态函数。我的每个项目都是一样的,被称为“Util.class.php”。我所有的职能都在那里。
添加require_once('Util.class.php');在任何需要你的功能的文件中。
要回答你的问题,我会执行以下功能:
/**
* A short description of your function
* @return void
/**
public static function getPortofolioArray($array)
{
foreach ($array as $key => $val)
{
echo '<div class="3u"><a href="_img/fulls/'.$key.'" class="image full"><img src="_img/thumbs/'.$key.'" alt="" title="'. $value.'" /></a></div>';
}
}
然后你需要这个功能,首先包括你文件顶部的Util:
require_once('Utils.class.php')
并调用您需要的功能:
Utils::getPortofolioArray($yourArray);
当然,这是问题的直接答案,我没有改善你的想法或任何事情。
小心你如何命名你的功能。基本上你称之为“getPortoFolioArray”,但是你没有在你的函数中做到这一点,你回应东西并且不返回任何数组。而是称它为“printPortofolioLinks”,因为它实际上就是它...