草庐IT

PHP Laravel 5.5 集合展平并保留整数键?

我有以下数组:$array=['2'=>['3'=>['56'=>'2'],'6'=>['48'=>'2']],'4'=>['4'=>['433'=>'2','140'=>'2'],'8'=>['421'=>'2','140'=>'2']],'5'=>['5'=>['88'=>'4','87'=>'2']]];下面的代码(扁平化)应该通过保留键来返回它,但它没有?collect($array)->flatten(1);应该给我['3'=>['56'=>'2'],'6'=>['48'=>'2'],'4'=>['433'=>'2','140'=>'2'],'8'=>['421'=>'2',

php - 在 PHP 中,0(整数,零)等于 "first"或 "last"(字符串)?

我对刚刚在我正在处理的脚本中遇到的问题感到困惑。我有以下内容:functiongetPart($part){$array=array('a','b','c');if($part=='first')$part=0;if($part=='last')$part=count($array)-1;if(isset($array[$part]))return$array[$part];returnfalse;}$position=0;echogetPart($position);所以,如果我要尝试字符串“first”,我应该得到“a”作为输出。对于字符串“last”,我应该得到“c”等等。当我使

php - 在php中排序整数值

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭7年前。社区在去年审查了是否重新打开这个问题,并将其关闭:原始关闭原因未解决Improvethisquestion我在一个php文件中有19个变量。$a=20;$b=23;$c=2;$d=92;$e=51;$f=27;$g=20;$h=20;..........$s=32;我需要的是只显示前5个值。并且某些变量具有相似的值。在那种情况下,我只需要显示前5个值中的第一个值。我对这样做一无所知。在收到下面给出的一些反馈后,我使用了数组和分类这是示

php - 对于给定的整数 Z,检查 Z 是否可以写成 P^Q,其中 Q 和 P 是正整数

这是我尝试过的方法,但它给了我错误的输出。谁能指出错误是什么?functionsuperPower($n){$response=false;$n=abs($n);if($n例如,如果我给它编号25,它会给出1作为输出。//正确的但如果我给它26,它仍然给我1,这是错误的。 最佳答案 通过使用superPower,您实质上是在尝试对攻击的威力进行一定的防御,以查看它是否经得起考验。与您现在使用的蛮力方法相比,这可以更有效地完成。functionsuperPower($hp){//NietusedSuperpower!if($hp1;$

php - 如何获取字符串中的最后一个整数?

我有这样的变量:$path1="loremipsum";$path2="loremipsum";我需要获取data-id的值,但我认为这在php中是不可能的。也许可以获得字符串中的最后一个整数?像这样的东西:$a=$path1.lastinteger();//2$b=$path2.lastinteger();//14有什么帮助吗? 最佳答案 您可以使用一个简单的正则表达式:/data-id=[\"\']([1-9]+)[\"\']/g然后你可以构建这个函数:functionlastinteger($item){preg_match_

php - 仅当整数时获取查询字符串

尝试将查询字符串放入变量中,但前提是它是整数。代码可能比它应该的要复杂一点,但这就是我要做的-//getpagenumber.defaultis1.checkisnotemptyandisanumberif(empty($_GET['pag'])){$page=1;}elseif(is_int($_GET['pag'])){$page=$_GET['pag'];}else{$page=1;}我哪里错了? 最佳答案 你可能想要is_numeric()相反-is_int()不会测试字符串是否为数字字符串。if(empty($_GET['

PHP从第一个数字(整数) explode

我想展开一些包含第一个数字(整数)的测试。这里有一些话。AvantBrowser2013Build110Firefox23.0Beta10GoogleChrome29.0.1547.41Beta我正在尝试这个,但它不起作用。$in='AvantBrowser2013Build110';preg_match("/\d[^A-Za-z]+([A-Za-z\s]+)/",$in,$match);echo$match[0];需要的输出是:-AvantBrowserFirefoxGoogleChrome请帮忙 最佳答案 试试这个正则表达式:^

php - 如何使用正则表达式从字符串中提取所有整数值?

我正在尝试学习正则表达式。我有字符串:$x="5ft2inches";如何使用正则表达式将[5,2]读入数组? 最佳答案 如果您假设字符串的格式为“{number}ft{number}inches”,那么您可以使用preg_match():preg_match('/(\d+)ft(\d+)inches/',$string,$matches);(\d+)将匹配一个或多个数字的字符串。括号将告诉preg_match()将匹配的数字放入$matches变量(函数的第三个参数)。如果匹配,该函数将返回1,否则返回0。这是成功匹配后$matc

php - 如何使用 PHP 将整数转换为 8 位二进制数据?

我需要将整数转换为8bit,但是pack只能转换为16bit的二进制数据。我在谷歌中搜索,但找不到任何东西。有人可以帮忙吗? 最佳答案 echo$test=pack('C',1);根据格式将给定的参数打包成二进制字符串。此函数的思想来自Perl,所有格式化代码的工作方式与Perl相同。但是,缺少一些格式代码,例如Perl的“u”格式代码。请注意,有符号和无符号值之间的区别仅影响函数unpack(),而函数pack()对有符号和无符号格式代码给出相同的结果代码是aNUL-paddedstringASPACE-paddedstringh

php - 转换整数 php - 从字符串中删除符号

我有这段代码,我做了一个cast来删除符号€。$t="€2000";$venc=(int)$t;echo$venc;//actuallyechois0andiwant2000(removesymbol)输出是0而不是2000,所以,代码没有像我预期的那样工作。(int)$t;不是echo2000的原因是什么?谢谢 最佳答案 转换例程不会删除无效字符,而是从头开始并在到达第一个无效字符时停止,然后将其转换为数字,在您的情况下,欧元符号无效,它是第一个字符,因此结果数字为0。检查http://www.php.net/manual/en/