我有一个数据库表如下:

这将返回pic中的所有列标题,但最重要的一个是slug和parent(不确定id_button).
数组由id_button ASC自动排序,这真让我烦恼.但是,无论如何,这并不重要,因为我需要将它完全不同,或者在填充数组后重新排序.
数组按id_button的顺序返回:
$new_menu_buttons = array(
0 => array(
'id_button' => 1,
'parent' => 'help',
'position' => 'child_of',
'slug' => 'testing',
),
1 => array(
'id_button' => 2,
'parent' => 'packages',
'position' => 'after',
'slug' => 'sub_test_1',
),
2 => array(
'id_button' => 3,
'parent' => 'google.com',
'position' => 'after',
'slug' => 'another_test',
),
3 => array(
'id_button' => 4,
'parent' => 'testing'
'position' => 'child_of',
'slug' => 'google.com',
)
);
Run Code Online (Sandbox Code Playgroud)
我需要将其命令,这样,如果slug是内任何发现 …
好吧,我有这些字符串原型可以使用,但是,我不明白他们究竟做了什么.
String.prototype.php_htmlspecialchars = function()
{
return this.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"');
}
String.prototype.php_unhtmlspecialchars = function()
{
return this.replace(/"/g, '"').replace(/>/g, '>').replace(/</g, '<').replace(/&/g, '&');
}
String.prototype.php_addslashes = function()
{
return this.replace(/\\/g, '\\\\').replace(/'/g, '\\\'');
}
String.prototype._replaceEntities = function(sInput, sDummy, sNum)
{
return String.fromCharCode(parseInt(sNum));
}
String.prototype.removeEntities = function()
{
return this.replace(/&(amp;)?#(\d+);/g, this._replaceEntities);
}
String.prototype.easyReplace = function (oReplacements)
{
var sResult = this;
for (var sSearch in oReplacements)
sResult = sResult.replace(new RegExp('%' + sSearch + '%', 'g'), oReplacements[sSearch]);
return sResult;
}
Run Code Online (Sandbox Code Playgroud)
基本上,我需要做的是替换双引号("),>,<,单引号(')等所有实例.基本上与php中的htmlentities()改变相同的东西,但我需要更换它们带有空字符串,以便从文本中删除它们.
我可以使用上面的任何功能吗?如果没有,我如何在Javascript中完成此操作?我可以在字符串上使用替换吗?
请有人在这里帮助我.我将此文本放入选择框中,并在提交表格后输入数据库.虽然,我使用PHP来删除所有这些字符,但是,我很难找到一种方法在Javascript中执行此操作.
谢谢 …
我需要对一个看起来像这样的数组进行排序:
$array[4][0] = array('id' => 1, 'value' => 2);
$array[3][2] = array('id' => 0, 'value' => 3);
$array[4][1] = array('id' => 1, 'value' => 0);
$array[1][3] = array('id' => 2, 'value' => 1);
$array[1][1] = array('id' => 3, 'value' => 0);
$array[3][0] = array('id' => 2, 'value' => 1);
$array[3][1] = array('id' => 1, 'value' => 0);
$array[1][2] = array('id' => 3, 'value' => 2);
$array[1][0] = array('id' => 2, 'value' => 1);
$array[2][1] = array('id' => 0, 'value' => …Run Code Online (Sandbox Code Playgroud) 好的,我需要将键保留在该数组中,而我只想从该数组中移出第一个元素。实际上,我知道执行此操作时,此数组的第一个键将始终为1:
// Sort it by 1st group and 1st layout.
ksort($disabled_sections);
foreach($disabled_sections as &$grouplayout)
ksort($grouplayout);
Run Code Online (Sandbox Code Playgroud)
基本上,我宁可不必对它进行ksort来获取键= 1的数组。老实说,我不是array_shift的忠实拥护者,它只需要很长时间的IMO。还有另一种方法。也许是一种提取找到$ disabled_sections [1]的整个数组的方法,而无需执行foreach并对其进行排序和array_shift。我只想将$ disabled [1]添加到另一个数组中,然后将其从该数组中完全删除。在保持两个数组键不变的情况下,它们保持原样。从技术上讲,这样做甚至可以:
$array = array();
$array = $disabled_sections[1];
Run Code Online (Sandbox Code Playgroud)
但是它需要将其从$ disabled_sections中删除。我可以使用这种方法吗?
$array = array();
$array = $disabled_sections[1];
$disabled_sections -= $disabled_sections[1];
Run Code Online (Sandbox Code Playgroud)
像上面的东西甚至可能吗?
谢谢。
好的,我现在正在逐行阅读文件。我知道文件中的每个函数名称,因为它是在 XML 文档中的其他地方定义的。那应该是这样的:
function function_name
Run Code Online (Sandbox Code Playgroud)
其中 function_name 是函数的名称。
我从一个 XML 文档中获取了所有函数定义,我已经将它放入了一个函数名数组中,我只需要从 php 文件中获取这些函数。并重建该 php 文件,使其中仅包含这些功能。也就是说,如果一个 php 文件的函数比 XML 标签中定义的函数多,那么我需要去掉这些函数,只用用户在 XML 文件中指定的函数重写 .php 文件。
因此,我面临的困境是如何确定逐行读取函数的 END,并且我知道函数中可以包含函数。所以我不想删除其中的功能。只是独立的且未在随附的 XML 文件中定义的函数。关于如何做到这一点的任何想法?
好的,我现在正在使用以下功能:
//!!! - Used to grab the contents of all functions within a file with the functions array.
function get_functions($source, $functions = array())
{
global $txt;
if (!file_exists($source) || !is_readable($source))
return '';
$tokens = token_get_all(file_get_contents($source));
foreach($functions as $funcName)
{
for($i=0,$z=count($tokens); $i<$z; $i++)
{
if (is_array($tokens[$i]) && $tokens[$i][0] == T_FUNCTION && is_array($tokens[$i+1]) && $tokens[$i+1][0] …Run Code Online (Sandbox Code Playgroud) 我需要递归地反转一个有多级子数组的HUGE数组,我需要保留所有的键(有些是int键,有些是字符串键),有人可以帮助我吗?也许是一个以某种方式使用array_reverse的例子?另外,使用array_reverse是唯一/最好的方法吗?
谢谢 :)
好吧,我讨厌承认它,但我很难用REGEX,我找不到一个关于如何设置表达式的体面教程.
所以说我有这样的事情
context['something']
Run Code Online (Sandbox Code Playgroud)
我想将所有事件都更改为
context[something]
Run Code Online (Sandbox Code Playgroud)
然后我有
' . $var . '
Run Code Online (Sandbox Code Playgroud)
我想将所有事件都更改为
{var}
Run Code Online (Sandbox Code Playgroud)
这是当前的概念,但我遇到了正则表达式部分的问题.我正在使用str_replace但是随着语言的改变,我认为它不会那么稳定.
这是我的尝试.
$codes = array (
'/(\' \. \$)(.+)( \. \')/',
'/(\[\')(.+)(\'\])/'
);
$html = array (
'{\\2}',
'[\\2]',
);
$data = preg_replace($codes, $html, $data);
Run Code Online (Sandbox Code Playgroud)
它一直有效,直到你把它们分配到一个文件然后它变坏了.
这是当前的设置
// these are temp need a better replace system
$data = str_replace("' . $", "{", $data);
$data = str_replace(" . '", "}", $data);
$data = str_replace("<?php", "", $data);
$data = str_replace("?>", "", $data);
$data = str_replace('context[\'forum_name\']', 'context[forum_name]', $data);
Run Code Online (Sandbox Code Playgroud)
只需要一个正确的方法来评论它们,以便稍后在保存期间将它们转换回来.
有人可以帮忙吗? …
$valuecan =语言文件的文件夹结构.示例:languages/english.php
$value也可以=文件名.示例:english.php
因此,如果该目录$value中没有其他文件/文件夹(删除实际文件,因为我已经在,当然),我需要获取当前文件夹并删除该文件夹.
foreach($module['languages'] as $lang => $langFile)
{
foreach ($langFile as $type => $value)
{
@unlink($module_path . '/' . $value);
// Now I need to delete the folder ONLY if there are no other directories inside the folder where it is currently at.
// And ONLY if there are NO OTHER files within that folder also.
}
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点??并且想知道这是否可以在不使用while循环的情况下完成,因为while循环中的foreach循环可能需要一些时间,并且需要尽可能快.
仅仅是FYI,永远不应该删除$ module_path.所以,如果$value = english.php,它永远不应该删除$ module_path.当然,那里总会有另一个文件,所以检查这个是没有必要的,但不会受到任何影响.
多谢你们 :)
编辑
好的,现在我在这里使用这个代码,它不工作,它不是删除文件夹或文件,我也没有得到任何错误...所以不知道这里的问题是什么: …
我试图以递归方式在目录中搜索子目录的任何目录中的所有子目录.基本上所有文件夹都从根目录开始,我需要将文件复制到找到的所有文件夹以及主根文件夹中.我怎样才能做到这一点?
这是我到目前为止所拥有的,但它需要完全递归,以便它获取该根目录中的所有文件夹,以及sub中的文件夹,以及其中的内容,无休止的搜索,直到没有更多的文件夹...
@copy($extendVars['dir'] . '/index.php', $real_extendpath . '/index.php');
$dh = @opendir($real_extendpath);
while (false !== ($obj = readdir($dh)))
{
if ($obj == '.' || $obj == '..')
continue;
if (is_dir($real_extendpath . '/' . $obj))
@copy($extendVars['dir'] . '/index.php', $real_extendpath . '/' . $obj . '/index.php');
}
closedir($dh);
Run Code Online (Sandbox Code Playgroud) 好吧,我正在存储一个像这样的会话变量,如果设置而不是调用数据库,则可以更快地加载用户布局.但由于布局可以通过管理员进行更改,因此我希望能够全局删除为所有用户设置$ _SESSION ['layout'] ['action']的所有会话.
$_SESSION['layout']['action'] = array(a ton of indexes and mulit-dimensional arrays);
Run Code Online (Sandbox Code Playgroud)
现在,我知道它存储在我的数据库会话表中,有一个session_id,last_update和data列.所以,问题是如何从所有用户中删除该会话数组键['action'].
运用
$_SESSION = array();
session_destroy();
Run Code Online (Sandbox Code Playgroud)
不行.基本上,session_start()正在加载每个页面,所以我只想从['layout']中删除所有['action']键.
这可能吗?谢谢
好吧,我试图找到可以使用的,我可以从爆炸,因为文字是用户定义的,我需要能够从我有可能永远是一个值爆炸的字符或字符组,或者什么在文中.
我怎样才能做到这一点?
我正在尝试做的一个例子......
$value = 'text|0||#fd9||right';
Run Code Online (Sandbox Code Playgroud)
好,
文字是永远不会改变的东西.0,同样不可更改的
#fd9是用户定义的字符串,可以是用户输入的任何内容...并且右侧设置方向(左侧或右侧).
所以,我面临的问题是:如何explode("||", $value)有一个|| 在用户定义的部分内...示例:
$value = 'text|0||Just some || text in here||right';
Run Code Online (Sandbox Code Playgroud)
所以,如果用户放置|| 在字符串的用户定义部分,比这更混乱了.无论用户输入什么字符串,如何做到这一点?所以它应该返回以下数组:
array('text|0', 'Just some || text in here', 'right');
Run Code Online (Sandbox Code Playgroud)
我应该使用不同的角色来爆发吗?如果是这样,我可以使用什么,用户将无法输入到字符串,或者我如何检查并修复它?我可能不应该使用|| 在这种情况下,但我可以用什么来解决这个问题?
此外,该值最初将来自字符串,之后将来自数据库(一旦保存).
有任何想法吗?