相关疑难解决方法(0)

参考:什么是变量范围,哪些变量可以从哪里访问,什么是"未定义变量"错误?

注意:这是在PHP中处理变量范围的参考问题.请关闭符合此模式的许多问题中的任何一个.

什么是PHP中的"变量范围"?一个.php文件中的变量是否可以在另一个中访问?为什么我有时会得到"未定义的变量"错误?

php scope

163
推荐指数
2
解决办法
5万
查看次数

array_filter和多维数组

说我有一个数组,如:

$arr[] = array("id" => 11, "name" => "First");
$arr[] = array("id" => 52, "name" => "Second");
$arr[] = array("id" => 6, "name" => "Third");
$arr[] = array("id" => 43, "name" => "Fourth");
Run Code Online (Sandbox Code Playgroud)

我想得到一个ID对应的名字,以便我可以这样做:

$name = findNameFromID(43);
Run Code Online (Sandbox Code Playgroud)

并获得,例如,"第四".

我想使用,array_filter但我有点卡在如何正确传递变量.我所看到的问题,比如这一个,但我似乎并没有能够解决方案扩展到多维数组.

有帮助吗?

php arrays filter multidimensional-array

9
推荐指数
1
解决办法
1万
查看次数

从4个表中随机挑选

我想出一个好头衔有点问题,但我现在就解释一下.

我正在建立一个在线游戏.我正在努力建立销毁武器的选择.

我有4种武器 - 攻击,防御,巡逻和间谍.巡逻和间谍武器有3级武器,攻防有15级.

我有一个表格,每个类别与col.命名为w1,w2,w3,w4 ...和课程用户的ID.

我给了每个等级点,所以w15例如值15分,w2值2分,我建立了一个函数来计算攻击者摧毁了多少分给防守者.

我被困在哪里是如何随机挑选武器?

让我们说攻击者摧毁了100点武器.所以它可以是100种巡逻等级1的武器,或者每种类别中的25种武器,或者10种武器排名10.我需要它在类别(攻击,防御,巡逻和间谍)之间以及武器之间随机(w1, W2,W3 ..).另外我需要它在防守者拥有的武器数量的极限,他不能失去更多,然后他有.

非常感谢你 !!我知道我写了一个很长的问题

php mysql sql random

6
推荐指数
1
解决办法
257
查看次数

从空格分隔的句子创建LIKE友好字符串

我想允许我的用户使用任何顺序的部分单词在数据库中搜索值,以便搜索到的字符串:

nan mu
Run Code Online (Sandbox Code Playgroud)

会以任何顺序返回包含both nan和的任何字符串mu.只有两位,它很容易array_filter()这个答案中的解决方案创建字符串

%nan%mu%
%mu%nan%
Run Code Online (Sandbox Code Playgroud)

这样mysql就会搜索那些.现在我有一个问题,当有两个以上的位,例如nan mu te.目的是获得这些字符串:

$string1 = %nan%mu%te%
$string2 = %nan%te%mu%
$string3 = %mu%nan%te%
$string4 = %mu%te%nan%
$string5 = %te%nan%mu%
$string6 = %te%mu%nan%
Run Code Online (Sandbox Code Playgroud)

并使6 mysql LIKE条件,WHERE Field LIKE $string1 AND Field LIKE $string2 ...以便任何顺序中的这三个位的任何可能性将包含在结果中

对于那些即将抱怨sql注入的人,谢谢,但不,谢谢,我使用PDO和参数化查询.

我用字符串实际尝试nan mu te:

class EstDefini
 {private $STR;
  function __construct($vSTR)
   {$this->STR = $vSTR;}
  function Verifier($vSTR)
    {return !($vSTR == $this->STR);}}

$vString = 'nan mu te';

$aBits = explode(' …
Run Code Online (Sandbox Code Playgroud)

php mysql

3
推荐指数
1
解决办法
152
查看次数

PHP array_filter中的未定义变量

这可能是一个非常愚蠢的问题,但我无法理解PHP范围如何处理这段代码:

$leagueKey = 'NFL';
$response['response'] = array_filter($response['response'], function($tier){
    return ($tier['LeagueKey'] === $leagueKey ? true : false);
});
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到一个"Undefined variable:leagueKey"异常.另一方面,这非常有效:

$response['response'] = array_filter($response['response'], function($tier){
    return ($tier['LeagueKey'] === 'NFL' ? true : false);
});
Run Code Online (Sandbox Code Playgroud)

为什么PHP不能在array_filter函数中看到我的$ leagueKey变量?

谢谢!

php array-filter

3
推荐指数
2
解决办法
2516
查看次数

PHP array_filter 带有回调参数

我需要在 PHP 中过滤数组,但不确定如何将参数传递给回调。本质上,我对数组中的每个项目进行两次比较。

// This data will be sent to the function as JSON so I'm "creating" the JSON here.
$data = json_encode(Array(
    Array("StartDate"=>"2014/07/31","LocZipCode"=>"19406","LocationURL"=>"FSU","EventType"=>"UN"),
    Array("StartDate"=>"2014/08/31","LocZipCode"=>"23513","LocationURL"=>"FSU","EventType"=>"UN"),
    Array("StartDate"=>"2014/07/31","LocZipCode"=>"92108","LocationURL"=>"BU","EventType"=>"UN"),
    Array("StartDate"=>"2014/09/30","LocZipCode"=>"78661","LocationURL"=>"BU","EventType"=>"UN")
));

// even using a global variable doesn't 
// make it visible in getUniv() function
global $univ_seg;
$univ_seg = 'FSU';

getUA($data, $univ_seg);

function getUniv($var){
    return($var["EventType"] == "UN" && $var["LocationURL"] == $univ_seg);
}

function getUA($data, $univ_seg) {
    $univ_sched = json_decode($data, true);
    $re = array_filter($univ_sched, "getUniv");
    print_r($re); 
}
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用 lambda 但我无法让它工作。有任何想法吗??

php arrays filtering

1
推荐指数
1
解决办法
6006
查看次数