小编Chr*_*ian的帖子

如何在Android设备上找到ARM处理器版本?

我尝试了以下命令,它在几个设备上运行良好.

adb shell getprop | grep abi
Run Code Online (Sandbox Code Playgroud)

此命令无法获取某些设备的ARM处理器版本.有没有其他方法可以找出我的设备运行的ARM处理器版本?

谢谢

android adb

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

PHP获取数组中最后插入项的索引

它就像标题听起来一样简单; 我需要获取最后插入项的索引/键.为什么这很难?请参阅以下两个代码示例:

$a=array();
echo 'res='.($a[]='aaa').' - '.(count($a)-1).'<br>';
echo 'res='.($a[]='bbb').' - '.(count($a)-1).'<br>';
echo 'res='.($a[]='aaa').' - '.(count($a)-1).'<br>';
die('<pre>'.print_r($a,true).'</pre>');
Run Code Online (Sandbox Code Playgroud)

写道:

res=aaa - 0
res=bbb - 1
res=aaa - 2
Array (
    [0] => aaa
    [1] => bbb
    [2] => aaa
)
Run Code Online (Sandbox Code Playgroud)

当然,这似乎工作正常,但看到这个:

$a=array();
echo 'res='.($a[]='aaa').' - '.(count($a)-1).'<br>';
echo 'res='.($a[2]='bbb').' - '.(count($a)-1).'<br>';
echo 'res='.($a[]='aaa').' - '.(count($a)-1).'<br>';
die('<pre>'.print_r($a,true).'</pre>');
Run Code Online (Sandbox Code Playgroud)

写道:

res=aaa - 0
res=bbb - 1       <- wrong!
res=aaa - 2       <- wrong!
Array (
    [0] => aaa
    [2] => bbb    <- real key
    [3] => …
Run Code Online (Sandbox Code Playgroud)

php arrays indexing

52
推荐指数
4
解决办法
4万
查看次数

多个websocket连接

从同一客户端到同一服务器有两个不同的websocket连接有什么好处吗?对我而言,这似乎是一个糟糕的设计选择,但有什么原因/它应该更好地解决?

javascript client websocket

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

Javascript decodeURI(Component)格式错误的uri异常

我在Chrome的控制台中输入了以下内容:

decodeURIComponent('a%AFc');
Run Code Online (Sandbox Code Playgroud)

a0xAFc它导致了一个URIError异常(格式错误的uri),而不是导致它.

我听过几个借口为什么这可能,但我不明白为什么

decodeURIComponent()特别是该函数应该解码数据,而不是验证URI.

javascript uri malformed decodeuricomponent

35
推荐指数
2
解决办法
6万
查看次数

PHP eval和捕获错误(尽可能多)

免责声明 ; 我完全了解eval的陷阱和"邪恶",包括但不限于:性能问题,安全性,可移植性等.

问题

阅读eval上的PHP手册...

除非在计算代码中调用return,否则eval()将返回NULL,在这种情况下,将返回传递给return的值.如果计算代码中存在解析错误,则eval()返回FALSE并继续执行以下代码.使用set_error_handler()无法在eval()中捕获解析错误.

简而言之,除了返回false之外没有错误捕获,这是非常有帮助的,但是我可以做得更好!

原因

我正在研究的网站功能的一部分依赖于执行表达式.我不想通过沙盒或执行模块的路径,所以我结束了使用eval.在你喊"如果客户变坏了怎么办?!"之前 知道客户非常信任; 他不想破坏自己的网站,任何获得此功能的人都拥有服务器,无论eval如何.

客户端知道Excel中的表达式,并不是解释这些差异的问题,但是,通过某种形式的警告几乎是标准功能.

这是我到目前为止:

define('CR',chr(13));
define('LF',chr(10));

function test($cond=''){
    $cond=trim($cond);
    if($cond=='')return 'Success (condition was empty).'; $result=false;
    $cond='$result = '.str_replace(array(CR,LF),' ',$cond).';';
    try {
        $success=eval($cond);
        if($success===false)return 'Error: could not run expression.';
        return 'Success (condition return '.($result?'true':'false').').';
    }catch(Exception $e){
        return 'Error: exception '.get_class($e).', '.$e->getMessage().'.';
    }
}
Run Code Online (Sandbox Code Playgroud)

笔记

  • 该函数在任何情况下都返回一个消息字符串
  • 代码表达式应该是PHP的单行代码,没有PHP标记,也没有结尾的分号
  • 新行将转换为空格
  • 添加一个变量来包含结果(表达式应返回true或false,并且为了不与eval的返回冲突,使用临时变量.)

那么,您还会添加什么来进一步帮助用户?是否有任何进一步的解析功能可以更好地查明可能的错误/问题?

克里斯.

php parsing eval exception

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

在git push上重置

我有一个post-receive钩子脚本坐在我正在推动的远程仓库上 git reset --hard

像这样的东西:

$ git push opal
Counting objects: 74, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (45/45), done.
Writing objects: 100% (53/53), 16.68 KiB, done.
Total 53 (delta 20), reused 0 (delta 0)
remote: warning: updating the current branch
remote: HEAD is now at 88f1e35 tweak lavalamp styles
Run Code Online (Sandbox Code Playgroud)

我在这里不明白的是 - 遥控器说头部现在在XXX但是当我登录服务器时 - 远程工作副本根本没有更新!

任何的想法?

git hook reset git-post-receive

15
推荐指数
3
解决办法
7336
查看次数

使用PHP检测EOL类型

参考:这是一个自我回答的问题.它旨在分享知识,问答风格.

如何在PHP中检测行尾字符的类型?

PS:我从头开始编写这段代码的时间太长了,所以我决定在SO上分享它,而且,我相信有人会找到改进的方法.

php platform newline

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

从try/catch块中断

这可能在PHP?

try {

  $obj = new Clas();

  if ($obj->foo) {
    // how to exit from this try block?
  }

  // do other stuff here

} catch(Exception $e) {

}
Run Code Online (Sandbox Code Playgroud)

我知道我可以把其他东西放在其间{},但是这会增加对更大代码块的缩进,我不喜欢它:P

php exception try-catch

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

使用javascript更改iframe中的网址

我有一个iframe,它从父页面调用一个函数.该函数是window.location,但是这不会更改url.有没有办法让iframe从父页面调用一个函数,这会导致iframe更改网址?我也有一个基本的qustion,如果我有一个iframe,然后点击一个链接,将我带到一个新页面,父页面是否保持打开状态?

在此先感谢您的帮助.对不起,如果我听起来像个完全白痴,我是javascript的新手.

戴夫

javascript url iframe

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

PHP全局风格匹配

为了简短起见,我写了一个访问控制系统.

该系统的要求之一是通过将其与模式匹配来检查是否可以访问规范/规范化路径.

首先想到的是PREG,问题是,模式是基于文件的,即类似于接受的模式glob().基本上,它只是包含?(匹配一个任意字符)或*(匹配任何字符)的模式.

所以简单来说,我需要glob()在PHP上重新创建匹配功能.

示例代码:

function path_matches($path, $pattern){
    // ... ?
}

path_matches('path/index.php', 'path/*');        // true
path_matches('path2/', 'path/*');                // false
path_matches('path2/test.php', 'path2/*.php');   // true
Run Code Online (Sandbox Code Playgroud)

一个可能的解决方案是转换$pattern为正则表达而不是使用preg_match(),有没有其他方法?

注意:我不能使用正则表达式的原因是模式将由非程序员编写.

php glob path pattern-matching

10
推荐指数
3
解决办法
4438
查看次数