我刚刚find了similar_text函数,并且正在玩弄它,但是百分比输出总是令我惊讶。 看下面的例子。 我试图find在php上提到的algorithm使用的相关信息: similar_text() Docs : <?php $p = 0; similar_text('aaaaaaaaaa', 'aaaaa', $p); echo $p . "<hr>"; //66.666666666667 //Since 5 out of 10 chars match, I would expect a 50% match similar_text('aaaaaaaaaaaaaaaaaaaa', 'aaaaa', $p); echo $p . "<hr>"; //40 //5 out of 20 > not 25% ? similar_text('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaa', $p); echo $p . "<hr>"; //9.5238095238095 […]
我已经能够安装没有这样的composer.json文件的仓库: { "type": "package", "package": { "name": "yahoo/yui-compressor", "version": "2.0.4", "dist": { "url": "http://yui.zenfs.com/releases/yuicompressor/yuicompressor-2.4.7.zip", "type": "zip" } } }, 我从文档中选取了“types”:“zip”部分,但找不到其他types。 例如,我需要安装jQuery,但是我不知道要input什么(“js”不起作用)。 { "type": "package", "package": { "name": "jquery/jquery", "version": "1.7.2", "dist": { "url": "http://code.jquery.com/jquery-1.7.2.js", "type": "js" } } } 有任何想法吗? 编辑 :我添加完整的解决scheme,以帮助@ CMCDragonkai: "require": { "vendorname/somefile": "1.2.3", }, "repositories": [ { "type": "package", "package": { […]
我遇到这个代码… if(isset($string[255])) { // too long } isset()的速度在6到40之间 if(strlen($string) > 255) { // too long } isset()的唯一缺点是代码不清楚 – 我们不能立即告诉正在做什么(见pekka的答案)。 我们可以在一个函数strlt($ string,255)中包装isset(),但是我们放弃了isset()的速度优势。 我们如何使用更快的isset()函数,同时保持代码的可读性? 编辑:testing显示速度http://codepad.org/ztYF0bE3 strlen() over 1000000 iterations 7.5193998813629 isset() over 1000000 iterations 0.29940009117126 编辑2:这是为什么isset()更快 $string = 'abcdefg'; var_dump($string[2]); Output: string(1) “c” $string = 'abcdefg'; if (isset($string[7])){ echo $string[7].' found!'; }else{ echo 'No character found at […]
在PHP中是否有一个函数和/或对象和/或扩展可以让你查看当前范围中定义的所有variables? 就像是: var_export($GLOBALS) 但只显示当前符号表中的variables。
当你不得不在你的类中使用__destruct时,请给我一些真实的例子。
我试图了解or运营商的行为。 请看下面的例子: $e = false || true; var_dump($e); 输出如预期: bool(true); $f = false or true; var_dump($f); 输出如预期: bool(false) 。 我以某种方式理解了这一点,即=具有比Or更高的优先级,所以这就是$f被赋值为false 。 但是下面的代码和我想的完全相反。 我以为$foo将被分配到5 ,然后比较自己。 但$foo只有在$foo被设置的情况下才被赋值,这意味着它正在检查$foo是否被赋值给任何东西,并赋值5。 $foo or $foo = 5; 任何人都可以解释为什么这样吗?
我使用utf8_general_ci归类对来自MySQL数据库的数据调用json_encode() 。 问题是有些行有奇怪的数据,我不能清理。 例如符号 ,所以一旦到达json_encode() ,就会失败,并带有json_encode(): Invalid UTF-8 sequence in argument 。 我尝试过使用utf8_encode()和utf8_decode() ,即使使用mb_check_encoding()但它一直在通过并造成严重破坏。 在Mac上运行PHP 5.3.10。 所以问题是 – 我怎样才能清理无效的utf8符号,保留其余的数据,以便json_encoding()将工作? 更新。 这是一个重现它的方法: echo json_encode(pack("H*" ,'c32e'));
鉴于以下两个HTML / PHP代码片段: <input type="text" name="firstname" value="<?php echo $_POST['firstname']; ?>" /> 和 <textarea name="content"><?php echo $_POST['content']; ?></textarea> 什么字符编码我需要使用回显的$_POSTvariables? 我可以使用任何内置的PHP函数吗? 请假定$_POST值尚未被编码。 没有魔法没有引号。
我已阅读oAuth,亚马逊REST API,HTTP基本/摘要等,但不能把它全部“一块”。 这可能是最接近的情况 – 为移动应用程序创buildAPI – 身份validation和授权 我想build立以API为中心的网站 – 服务。 所以(一开始)我会有一个API在中心和网站 (PHP + MySQL)通过networking接口通过cURL , Android和iPhone连接。 所以3个主要客户 – 3个API密钥。 而任何其他开发者也可以通过API接口开发,他们将获得自己的API密钥。 API行为将被接受/拒绝基于userLevel状态,如果我是一个pipe理员我可以删除任何东西等,所有其他可以操纵只有他们的本地(帐户)数据。 首先,授权 – 我应该使用oAuth + xAuth还是我自己的某种types的实现(请参阅http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/RESTAuthentication.html?r=9197 )? 据我所知,在亚马逊服务用户是== API用户(有API密钥) 。 在我的服务上,我需要将标准用户/帐户(在网站上注册的用户)和开发者帐户(应该有他们的API密钥)分开。 所以我首先需要授权API密钥 ,然后validation用户本身。 如果我使用亚马逊的scheme来检查开发人员的API密钥(授权他们的应用程序),我应该使用什么样的用户身份validation? 我读了关于通过api.example.org/auth (通过HTTPS ,HTTP Basic)发布我的用户名和密码,然后每转发一次请求。 如果我在Android和网站上同时login,如何pipe理令牌? 如果我只在第一次请求时(在传输用户名和密码的时候)只使用SSL,而在另一端只使用HTTP,那么中间人攻击又如何呢? 在这个例子中是不是一个问题保护REST服务的密码?
我想将string中的所有文本转换为html实体,但保留HTML标记,例如: <p><font style="color:#FF0000">Camión español</font></p> 应该翻译成这个: <p><font style="color:#FF0000">Camión español</font></p> 有任何想法吗?