jjzjj

recursion

全部标签

php - 在 HTML 列表中转换 PHP 数组

我有下面的数组,我想以特定的HTML列表格式输出。我的PHP数组如下:Array([MAIN]=>MasterProduct[ID1]=>Array([0]=>Product1)[ID2]=>Array([0]=>Product2[ID3]=>Array([0]=>Product3)[ID4]=>Array([0]=>Product4)))我要找的HTML列表格式如下。MasterProductProduct1Product2Product3Product4如有任何帮助,我们将不胜感激。 最佳答案 试穿这个尺寸:functionre

php - 将php中的嵌套集转换为没有深度参数的嵌套数组

给定一个数组:$arrData=array(0=>array('uid'=>1,'name'=>'label','open'=>0,'close'=>9),1=>array('uid'=>2,'name'=>'label','open'=>1,'close'=>2),2=>array('uid'=>3,'name'=>'label','open'=>3,'close'=>8),3=>array('uid'=>4,'name'=>'label','open'=>4,'close'=>5),4=>array('uid'=>5,'name'=>'label','open'=>6,'close

php - 将函数从递归转换为迭代

我写的这个函数非常慢,因为php不能很好地处理递归。我正在尝试将其转换为while循环,但在思考如何进行时遇到了麻烦。谁能给我一些提示?publicfunctionfindRoute($curLoc,$distanceSoFar,$expectedValue){$this->locationsVisited[$curLoc]=true;$expectedValue+=$this->locationsArray[$curLoc]*$distanceSoFar;$at_end=true;for($i=1;$inumLocations;$i++){if($this->locationsVis

PHP:递归获取父级的子级

我有一个函数可以从我的数据库中获取父项的所有子项的ID。因此,如果我查找id7,它可能会返回一个包含5、6和10的数组。然后我想做的是递归地找到那些返回的id的child,依此类推,直到child的最终深度。我曾尝试编写一个函数来执行此操作,但我对递归感到困惑。functiongetChildren($parent_id){$tree=Array();$tree_string;if(!empty($parent_id)){//getOneLevel()returnsaone-dimentionalarrayofchildids$tree=$this->getOneLevel($pare

php - javascript 中内存的真实世界示例?

我找到了诸如阶乘计算之类的示例来解释memoization.这些很有帮助,但我正在寻求更深入的了解。我想知道是否有人可以描述这种技术在现实世界中的应用,以及为什么他们使用它而不是递归,或者他们认为使用记忆化可能有助于他们优化的其他任何东西。 最佳答案 内存比缓存更具体一些。考虑使用选择器在DOM中搜索元素,就像使用jQuery一样。比如,$('.some-selector')。在这种情况下,我调用函数$,告诉它为我找到所有具有CSS选择器“.some-selector”的元素。假设文档很大,我需要多次调用$('.some-selec

php - 帮助 PHP 递归导航列表菜单

我正在尝试将动态递归导航列表菜单添加到我正在处理的站点。场景是菜单有2个级别,由parentid(preid)关联。我的问题是我可以正确显示第一级列表,但是我无法正确显示第二级列表。我不确定在哪里添加第二级的UL和/UL标签。这就是我想要的Item1item2item3subitem1subitem2Item4item5subitem1subitem2item6这实际上是我用下面的代码得到的:item1item2subitem1subitem2SportsInjuries下面是我用来创建菜单的类文件:classDynamic_Menu{functiongetConfig(){$this

php - 将嵌套数组中的 "dot notation"键展开为子数组

我从一个任意深度的嵌套数组开始。在该数组中,一些键是由点分隔的一系列标记。例如“billingAddress.street”或“foo.bar.baz”。我想将这些键控元素扩展为数组,因此结果是一个嵌套数组,所有这些键都已扩展。例如:['billingAddress.street'=>'MyStreet','foo.bar.baz'=>'biz',]应该扩展为:['billingAddress'=>['street'=>'MyStreet',],'foo'=>['bar'=>['baz'=>'biz',]]]原始的“billingAddress.street”可以与新的“billing

php - 创建随机字符串,检查它是否存在,如果确实创建一个新字符串

我想生成一个大约5个字符长的随机字符串。我可以创建它,但我无法检查它是否存在于数组(或实际情况下的数据库)中,如果存在则创建一个新数组。我使用这样的函数生成字符串:functionrand_string(){returnsubstr(md5(microtime()),0,5);}但是我迷路了。我需要检查它是否已经存在。如果是,请制作一个新的并重复 最佳答案 试试这个:functionrand_string(){$str=substr(md5(microtime()),0,5);if(exists_in_db($str))$str=r

java - 如何在 Windows 上对 PNG 的整个目录树进行 PNGCrush?

问题几乎就是标题中的问题。我有很多MapTiler创建的PNG文件。确切地说是24083个文件。它们位于许多文件夹中,这些文件夹位于许多文件夹中,即文件夹树,duh。问题是,手动PNGCrush所有这些是最大的时间浪费。请问有人有算法可以分享给我吗?一种可以递归地粉碎所有这些PNG的方法?我有一台WindowsPC,并且希望使用Java或PHP而不是其他语言(因为我已经很了解),但其他语言可能没问题。谢谢! 最佳答案 您不需要为此做任何特殊的事情,只需在Windows命令提示符中使用FOR命令即可。使用这一行:FOR/R"yourd

php - 在 array_walk_recursive 中取消设置不起作用

array_walk_recursive($arr,function(&$val,$key){if($val=='smth'){unset($val);//我不希望它为空,我希望元素完全脱离数组。这甚至可以通过array_walk_recursive实现吗? 最佳答案 您不能在此处使用array_walk_recursive,但您可以编写自己的函数。很简单:functionarray_unset_recursive(&$array,$remove){$remove=(array)$remove;foreach($arrayas$ke