将数组转换为int-php

将数组转换为int-php,php,laravel,Php,Laravel,代码: 它返回正确的值。但是我需要把它转换成一个数字(int)来做减法运算 我使用以下命令转换为数组: public function resolve($root, $args, $context, ResolveInfo $resolveInfo, Closure $getSelectFields) { $valornovo = $args['sacar']; $user = User::where('id', $args['id']); $fields2 = 'sa

代码:

它返回正确的值。但是我需要把它转换成一个数字(int)来做减法运算

我使用以下命令转换为数组:

public function resolve($root, $args, $context, ResolveInfo $resolveInfo, Closure $getSelectFields)
{

    $valornovo = $args['sacar'];
    $user = User::where('id', $args['id']);
    $fields2 = 'saldo';

    $fields = $getSelectFields();

$valorantigo = (object) $user->with($fields->getRelations())->select($fields2)->first();
$foo = json_decode($valorantigo, true);
$foo2 = array_map('intval', $foo);


return  $foo2;

}
现在我需要转换为int。我尝试了(int),但无法转换,它返回null

编辑:我想要的是它返回值,但它是一个整数:

Vardump:

我还不知道怎么做,但他得到的正是我需要的数量。但我不能做操作,因为它是一个数组

我只想要这个值,而不是整个数组

json_decode($valorantigo,true)接受一个json编码的字符串并返回一个关联数组

根据我从数据中可以看出的情况,关联数组包含作为键的字符串和作为值的关联数组,如下所示:

$foo = json_decode($valorantigo, true);
我猜您希望返回嵌套数组的特定键的值,您可以这样做:

{
  "data": {
    "users": [
      {
        "name": "Rodrigo Cardoso",
        "email": "rodrigo.cardoso@imasters.com.br",
        "saldo": 10,
        "id": 3,
        "company": null
      },
      {
        "name": "Reinaldo Silotto",
        "email": "reinaldo.silotto@imasters.com.br",
        "saldo": 0,
        "id": 2,
        "company": null
      },
      {
        "name": "Alefe Souza",
        "email": "contact@alefesouza.com",
        "saldo": 0,
        "id": 1,
        "company": null
      }
    ]
  }
}

这将返回一个包含每个用户的saldo值的数组。

array\u值
-返回数组的所有值:

array_map(function ($user) {
    return $user['saldo'];
}, $foo['data']['users']);
上述示例将输出:

$array = array("id" => 4, "days" => 64);
print_r(array_values($array));

为什么不
返回$foo2*1
?您到底想要什么?你能提供一些明确的例子吗?我不明白你想要什么。我编辑了这篇文章,请原谅我的疏忽用法:return$foo2*=你试过intval($foo['data']['sacar']['saldo'])吗?我认为这段代码应该有效…:)我甚至不能测试它;-;我很困惑。我到底要做什么?我甚至在php方面都不一般,只是有人真正在学习。我试图替换:$foo2=array\u map('intval',$foo);per:array_-map(函数($foo){returnintval($foo['balance']);},['draw'=>['balance'=>23]];但它甚至没有运行。错误是:“TypeError:无法获取”。我认为我做错了。也许您可以通过指定您正在解码的json编码字符串来澄清。{“数据”:{“用户”:[{“姓名”:“罗德里戈·卡多佐”,“电子邮件”:“罗德里戈”。cardoso@imasters.com.br,“saldo”:10,“id”:3,“company”:null},{“name”:“Reinaldo Silotto”,“email”:“Reinaldo”。silotto@imasters.com.br,saldo:0,id:2,公司:null},{“名称”:“Alefe Souza”,“电子邮件”:contact@alefesouza.com“,“saldo”:0,“id”:1,“company”:null}]}}}我忘了返回var_dump:“int(10)\n{“data\”:{“sacar\”:null}}}”你想要这样吗?如果没有,请告诉我你想要什么输出,我会尽力帮助你
Array
(
    [0] => 4
    [1] => 64
)