魔术方法 - php简单操作数组和对象时候遇到的两个问题,一起请教各位了
话不多说,看代码
<code><?php $arr1[][][]=5; $j=str_repeat('[]', 3); var_dump($j); $arr2=array();// 然并卵 $arr2.$j=5; var_dump($arr1); var_dump($j); var_dump($arr2);// 想要实现$arr2[][][]=5一样的效果 </code></code>
我是不是2b,这个为啥不能用.或者怎样实现问题,。。想知道答案。。
然后第二个问题:我是在tp里调用,我想要的很简单,new 一个TbDemo类。
<code> public function __call($action,$paras){ $class=self::CLASS_PRE.ucfirst($action); if($class==='TbDemo'){ $obj2=new TbDemo();//这样是可以输出的,我十分确定以及肯定 $obj= new $class();//这样类就找不到了。。报错类找不到。 } </code>
关于为什么$obj2会有输出,我写了自动注册。如果对上面第二个问题稍微有其他方面疑问,可以看这个代码。当然和上面的 ————call在一个类文件里
<code> public function __construct() { spl_autoload_register ( array ($this,'loadClass' ) ); } public function loadClass($className){ require_once(MODULE_PATH.'Controller/'.$className.'.class.php'); } </code>
周末愉快~
回复内容:
话不多说,看代码
<code><?php $arr1[][][]=5; $j=str_repeat('[]', 3); var_dump($j); $arr2=array();// 然并卵 $arr2.$j=5; var_dump($arr1); var_dump($j); var_dump($arr2);// 想要实现$arr2[][][]=5一样的效果 </code></code>
我是不是2b,这个为啥不能用.或者怎样实现问题,。。想知道答案。。
然后第二个问题:我是在tp里调用,我想要的很简单,new 一个TbDemo类。
<code> public function __call($action,$paras){ $class=self::CLASS_PRE.ucfirst($action); if($class==='TbDemo'){ $obj2=new TbDemo();//这样是可以输出的,我十分确定以及肯定 $obj= new $class();//这样类就找不到了。。报错类找不到。 } </code>
关于为什么$obj2会有输出,我写了自动注册。如果对上面第二个问题稍微有其他方面疑问,可以看这个代码。当然和上面的 ————call在一个类文件里
<code> public function __construct() { spl_autoload_register ( array ($this,'loadClass' ) ); } public function loadClass($className){ require_once(MODULE_PATH.'Controller/'.$className.'.class.php'); } </code>
周末愉快~
第一个问题的需求非常奇怪,LZ期望的其实是eval函数的效果,只不过强烈建议不要这么做,操作不当很容易留下漏洞(并且性能也不高)
<code>php</code><code>$code = "\$x[][][]=5;"; eval($code); print_r($x); </code>
提供一个更安全的方案
<code>php</code><code>$x = 5; $depth = 3; //深度 for ($i = 0; $i </code>
对于第二个问题,我非常怀疑是大小写文件名的问题,LZ不妨仔细检查一下
第一个问题,你直接var_dump($arr2.$j);就知道了,说明这两个合起来他整体是一个字符串(Array[][][]);
这个字符串直接单独赋值php并不会将其先转成数组...
第二个问题,这样用肯定是可以的...就不知道是tp的问题还是啥问题了...
第二个问题可能是命名空间的问题,用变量的形式去实例化类,无法指定到该类对应的命名空间下

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.
