小编Rup*_*ert的帖子

为什么"echo strcmp('60','100');" 在PHP输出5?

关于这个函数的PHP文档有点稀疏,我已经读过这个函数比较ASCII值所以......

echo strcmp('hello', 'hello');
//outputs 0 as expected - strings are equal.
echo '<hr />';

echo strcmp('Hello', 'hello');
//outputs -32, a negative number is expected as 
//uppercase H has a lower ASCII value than lowercase h.
echo '<hr />';

echo strcmp('60', '100');
//outputs 5.
Run Code Online (Sandbox Code Playgroud)

最后一个例子令我感到困惑.我不明白为什么输出正数.

  • ASCII值0 = 48
  • ASCII值1 = 49
  • ASCII值6 = 54

  • 总ASCII值'60'=(54 + 48)= 102

  • 总ASCII值'100'=(49 + 48 + 48)= 145

strcmp()函数表示'60'比'100'"更大",即使看起来ASCII值字符串长度'100'大于'60'

有谁能解释为什么?

谢谢

php strcmp

12
推荐指数
3
解决办法
493
查看次数

在MySQL数据透视表中使用自动递增主键有什么好处吗?

想象一下,我们在MySQL数据库中有三个表:

  • 帖子
  • 类别
  • category_post

帖子类别之间存在一对多的关系,因此单个帖子可能有许多类别.

所述category_post表之间的枢转表的类别职位和具有以下的列:

  • id(主键,自动递增,大整数)
  • CATEGORY_ID
  • POST_ID

我们还想象一下,我们的category_post表中有1,000,000行.

我的问题是:

category_post表中使用id列是否有任何性能优势,还是只占用额外的空间?

mysql performance

7
推荐指数
2
解决办法
2843
查看次数

PHP中所有未被捕获的异常都是致命的吗?

在学习Zend PHP考试时,我遇到了以下矛盾的信息:

从Zend PHP 5.3学习指南v1a - PDF可在此处获得.

在此输入图像描述

答案:

在此输入图像描述

来自Davey Shafik的php Architect的Zend PHP 5认证学习指南的信息ISBN:0-9738621-4-9 在此输入图像描述

谁能告诉我哪一个是真的?

谢谢

php exception

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

如何让Susy Sass位置工作并将元素与中心列对齐

我有一个三列网格,并使用该+span功能很好地定义列.所以如果我想要一个元素跨越一列我做:

+span(1 of 3)
Run Code Online (Sandbox Code Playgroud)

和两个:

+span(2 of 3)
Run Code Online (Sandbox Code Playgroud)

等等..

我现在想要一个元素跨越一列,但在位置2,即在中间列.

Susy文档说要使用at关键字来指定这样的位置:

+span(1 at 2 of 3)
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用,我的列位于第一个位置,即左侧.

结果css:

width: 30.303030303%;
float: left;
margin-left: 1.5151515152%;
margin-right: 1.5151515152%;
Run Code Online (Sandbox Code Playgroud)

当我做

+span(1 at 3 of 3)
Run Code Online (Sandbox Code Playgroud)

结果css:

width: 30.303030303%;
float: right;
margin-left: 1.5151515152%;
margin-right: 1.5151515152%;
Run Code Online (Sandbox Code Playgroud)

这工作正常,我的列位于第三位.

如何使位置工作以使我的列位于第二位?

一些图片有助于解释:

在第一栏:

在此输入图像描述

在第3栏:

在此输入图像描述

我想要的是:

在此输入图像描述

最后一个例子来自:

float: none
margin: 0 auto
Run Code Online (Sandbox Code Playgroud)

我认为这是一个黑客,它也意味着高度现在是错误的,因为没有浮动.我不认为这是你应该如何与Susy合作.

版本:

指南针1.0.1 Susy 2.1.3

我使用.sass文件,而不是.scss

sass susy-compass compass-sass susy-sass susy

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

为什么"A"会消失?

我正在阅读一些Zend PHP认证问题,并坚持这个问题:

以下是什么输出:

<?php

class Magic{

    public $a = "A";
    protected $b = array("a" => "A", "b" => "B", "c" => "C");
    protected $c = array(1,2,3);

    public function __get($v){
        echo "$v,";
        return $this->b[$v];
    }

    public function __set($var, $val){
        echo "$var: $val,";
        $this->$var = $val;
    }

}

$m = new Magic();
echo $m->a.",".$m->b.",".$m->c.",";
$m->c = "CC";
echo $m->a.",".$m->b.",".$m->c;
Run Code Online (Sandbox Code Playgroud)

答案:b,c,A,B,C,c:CC,b,c,A,B,C

我知道在尝试访问/设置不可访问的属性时会调用__get()和__set但有人可以告诉我$ m-> a会发生什么?即它为什么会消失?

提前致谢

php oop

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