我研究类编译,它的序列和逻辑.
如果我在简单父级之前声明一个类:
class First extends Second{}
class Second{}
Run Code Online (Sandbox Code Playgroud)
这将工作正常.查看PHP版本的实例.
但是,如果父类还有一些尚未声明的父类(扩展或实现),如下例所示:
class First extends Second{}
class Second extends Third{}
class Third{}
Run Code Online (Sandbox Code Playgroud)
我会有一个错误:
致命错误:找不到"第二级"......
那么,为什么在第二个例子中它找不到Second类?也许php无法编译这个类因为它还需要编译Third类,还是什么?
我试图找出为什么在第一个例子中,PHP编译类第二,但如果它将有一些父类,它不会.我研究了很多,但没有确切的.
当我比较两个不同的对象,它返回首先true,和比后print_r(在对象上)返回 false.
从PHP手册:
如果两个对象实例具有相同的属性和值,则它们是相同的,并且是同一类的实例.
但在这里,例如,我设置了不同的值.为什么PHP 5.4.0 - 5.5.7之间的结果有所不同?
abstract class first
{
protected $someArray = array();
}
class second extends first
{
protected $someArray = array();
protected $someValue = null;
public function __construct($someValue)
{
$this->someValue = $someValue;
}
}
$objFirst = new second('123');
$objSecond = new second('321');
var_dump ($objFirst == $objSecond);
print_r($objFirst);
var_dump ($objFirst == $objSecond);
Run Code Online (Sandbox Code Playgroud)
结果是:
bool(true)
second Object ( [someArray:protected] =>
Array ( ) [someValue:protected] => 123 )
bool(false)
Run Code Online (Sandbox Code Playgroud)
但我的期望是:
bool(false)
second Object …Run Code Online (Sandbox Code Playgroud) 如何将GitHub问题分配给多个人?
我和我的同事一起使用GitHub存储库工作.如果我创建了一个问题,我可以将其分配给一个用户,但有时我需要将其分配给多个人.
我使用array_multisort函数完成了一些任务.在编写脚本的过程中,我做了一个var_dump,并$mainArray根据PHP版本获得了不同的结果.这是代码:
$mainArray = array(
0 =>array(
"key1" => array(7,4,5),
'key2' => array('cc','aa')
)
);
foreach($mainArray as $secondArray){
foreach($secondArray as $array){
array_multisort($array);
}
}
var_dump($mainArray);
Run Code Online (Sandbox Code Playgroud)
输出4.3.10 - 4.4.9, 5.1.1 - 5.5.7:
array(1) {
[0]=> array(2) {
["key1"]=> array(3) {
[0]=> int(7)
[1]=> int(4)
[2]=> int(5) }
["key2"]=> array(2) {
[0]=> string(2) "cc"
[1]=> string(2) "aa" }
}
}
Run Code Online (Sandbox Code Playgroud)
但是输出为4.3.0 - 4.3.9, 5.0.0 - 5.0.5我得到排序数组:
array(1) {
[0]=> array(2) {
["key1"]=> array(3) …Run Code Online (Sandbox Code Playgroud) 我有DB InnoDb innodb_db_1。我已经打开了innodb_file_per_table。
如果我去,var/lib/mysql/innodb_db_1/我会找到文件table_name.ibd, table_name.frm, db.opt。
现在,我正在尝试将这些文件复制到另一个数据库,例如复制到innodb_db_2(var/lib/mysql/innodb_db_2/),但是什么也没有发生。
但是,如果我的数据库是MyIsam,则可以用这种方式进行复制,一切正常。
通过复制InnoDb数据库文件来移动数据库有什么建议?
我试图按国家/地区名称查找国家/地区代码.所以,例如,我有"荷兰",我需要得到"NL"
我知道有找到名称格式代码的方法:
$country_name = Mage::app()->getLocale()->getCountryTranslation($country_code)
Run Code Online (Sandbox Code Playgroud)
但我需要反过来.
那么Magento有什么方法可以解决它吗?