我使用了一个奇怪的错误json_decode().它正确解码数据(我看到它使用print_r),但当我尝试访问数组内的信息时,我得到:
Fatal error: Cannot use object of type stdClass as array in
C:\Users\Dail\software\abs.php on line 108
Run Code Online (Sandbox Code Playgroud)
我只是想做:返回的数据$result['context']在哪里$resultjson_decode()
如何读取此数组中的值?
使用新数组我这样做:
$aVal = array();
$aVal[key1][var1] = "something";
$aVal[key1][var2] = "something else";
Run Code Online (Sandbox Code Playgroud)
对象是否有类似的语法
(object)$oVal = "";
$oVal->key1->var1 = "something";
$oVal->key1->var2 = "something else";
Run Code Online (Sandbox Code Playgroud) 这是一个一般参考问题和答案,涵盖了许多永无止境的"如何访问我的JSON中的数据?" 的问题.它可以处理在PHP中解码JSON和访问结果的广泛基础知识.
我有JSON:
{
"type": "donut",
"name": "Cake",
"toppings": [
{ "id": "5002", "type": "Glazed" },
{ "id": "5006", "type": "Chocolate with Sprinkles" },
{ "id": "5004", "type": "Maple" }
]
}
Run Code Online (Sandbox Code Playgroud)
如何在PHP中解码并访问结果数据?
我在WordPress中做了很多工作,我注意到有更多的函数返回对象而不是数组.除非您特别要求数组,否则数据库结果将作为对象返回.错误作为对象返回.在WordPress之外,大多数API都会为您提供一个对象而不是一个数组.
我的问题是,为什么他们使用对象而不是数组?在大多数情况下,它并不重要,但在某些情况下,我发现物体不仅难以加工而且能够缠绕我的头部.是否有使用对象的性能原因?
我是一名自学成才的PHP程序员.我有文科学位.如果我错过了计算机科学的一个基本方面,请原谅我.;)
我有一个看起来像这样的对象(存储为$ videos)
object(stdClass)#19 (3) {
[0]=>
object(stdClass)#20 (22) {
["id"]=>
string(1) "123"
etc...
Run Code Online (Sandbox Code Playgroud)
我想得到第一个元素的ID,而不必循环它.
如果它是一个数组,我会这样做:
$videos[0]['id']
Run Code Online (Sandbox Code Playgroud)
它曾经像这样工作:
$videos[0]->id
Run Code Online (Sandbox Code Playgroud)
但现在我在上面显示的行上得到一个错误"不能使用stdClass类型的对象作为数组...".可能是由于PHP升级.
那么如何在没有循环的情况下获得第一个ID呢?可能吗?
谢谢!
我是一名Java程序员,并且正在使用Hibernate和Struts工作一段时间.
现在,对于我的新项目,我正在研究PHP和Mysql(学习PHP).有没有类似于Hibernate for PHP的技术?如果是的话,任何人都可以给我链接,我可以理解并使用它吗?
PHP中有POJO概念吗?
我来自Java背景,我想在php中使用内部类.每次我放入内部类时,都会出现语法错误.这可能用PHP吗?另外,我如何引用外部类?我可以访问其所有数据成员吗?
<?php
class OuterClass {
var $x = 15;
function __construct() {
}
class InnerClass { // error when InnerClass is static
function __construct() { // error when InnerClass is static
echo $x;
}
}
}
?>
Run Code Online (Sandbox Code Playgroud)
这用于特定纸牌游戏的MoveClass(如在移动中).我认为将这些课程放在一起是一件很好的设计,因为它们没有任何区别.此外,MoveClass需要了解Game类的一些数据成员.为什么不把它变成一个功能呢?它太大了.
编辑:
嵌套类怎么样?据我所知,那些必须是静态的?O_O
例:
error_reporting(E_ALL | E_STRICT);
class Test {}
$obj = new Test();
$obj->undeclared = "oops"; // I want an error here !! :(
echo $obj->algo; // oops
Run Code Online (Sandbox Code Playgroud)
我在PHP 5.2.11和5.3.0上测试了它.
我不想在我的对象中使用动态属性.
在这种情况下可以强制PHP引发错误吗?
我有以下PHP5代码:
$request = NULL;
$request->{"header"}->{"sessionid"} = $_SESSION['testSession'];
$request->{"header"}->{"type"} = "request";
Run Code Online (Sandbox Code Playgroud)
第2行和第3行产生以下错误:
PHP严格标准:从空值创建默认对象
我该如何解决这个错误?
我的目标是能够$obj像这样使用:
print $obj->hello() . $obj->{foo};
Run Code Online (Sandbox Code Playgroud)
我想创建一个对象内联,也许使用的东西像这样:
my $obj = (
foo => 1,
hello => sub { return 'world' }
);
Run Code Online (Sandbox Code Playgroud)
但当我尝试$obj用作对象时,我得到一个错误,说$ obj没有被祝福.是否有一些基类(如stdClass在PHP中)我可以用来祝福哈希,以便我可以将它用作对象?
对于那些了解JavaScript的人,我尝试执行以下操作,但在Perl中:
# JS CODE BELOW
var obj = { foo: 1, hello: function () { return 'world' } };
echo obj.hello() + obj.foo;
Run Code Online (Sandbox Code Playgroud)