我有一个PHP和JS的应用程序.当我评估json编码的PHP数组时,数组排序会发生变化.例如,如果我在PHP中有一个这样的数组:
<?php
$array = [148 => 'Plane', 149 => 'Car'];
?>
<script>
var array = eval(<?php echo json_encode($array)?>);
</script>
Run Code Online (Sandbox Code Playgroud)
当我在控制台中打印数组时,元素的位置不同.你知道怎么会这样吗?
UPDATE
感谢您的答案,但我想在JS结构中保持完全相同的顺序,所以我不想按特定字段对数组进行排序.也许从DB获得的订单如下:
[148 => object, 155 => object, 133 => object]
Run Code Online (Sandbox Code Playgroud)
我想在JS中创建一个这样的数组,它具有它的顺序(位置来自DB,它必须是那个顺序).可能吗?
我在Symfony中有一个实现接口的类.我需要有$ para请求POST params.这是我的功能:
class WebserviceUserProvider implements UserProviderInterface
{
public function loadUserByUsername($username)
{
$salt = "";
$roles = "";
// make a call to your webservice here
.....
}
...
}
Run Code Online (Sandbox Code Playgroud)
我不能这样做:
public function loadUserByUsername($username, Request $request)
Run Code Online (Sandbox Code Playgroud)
因为我需要实现接口,我得到这个错误:
FatalErrorException:编译错误:Actas\Gestion\UserBundle\Security\User\WebserviceUserProvider :: loadUserByUsername()声明必须与Symfony\Component\Security\Core\User\UserProviderInterface :: loadUserByUsername($ username)兼容
我如何获得请求参数?这个类是从登录调用的,我需要它发送的密码才能使用WebService来验证用户.
非常感谢你提前!
这是我在Bundle中的services.xml:
# src/Actas/Gestion/UserBundle/Resources/config/services.yml
parameters:
webservice_user_provider.class: Actas\Gestion\UserBundle\Security\User\WebserviceUserProvider
services:
webservice_user_provider:
class: "%webservice_user_provider.class%"
scope: container
calls:
- [setServiceContainer , ["@service_container"]]
Run Code Online (Sandbox Code Playgroud)