【问题标题】:PHP Creating a short array from a listPHP 从列表中创建一个短数组
【发布时间】:2017-05-26 10:37:22
【问题描述】:

我想动态创建一个包含对象列表的短数组。这是针对 Guzzle 客户端的 POST 请求。这就是为什么我需要它在一个短数组中。

Guzzle 发布请求示例:

 $res = $this->client->request($methode, $request_url, [
            'form_params' => [
                'param' => 'value'
            ]
         ]);

问题案例:

我有一个列表:Params 对象:Param。 Param 有三个属性idnamelink_id

假设 List 有三个 Object。

param(1, email, 1)
param(2, username, 1)
param(3, password, 1)

我想从列表中动态创建一个带有short array syntax 的数组。

示例(伪):

for each params as param

 [
   'form_params' => [
     param->name => 'value'
   ]
 ]

这段代码的结果会是这样的

 [
   'form_params' => [
     'email' => 'value',
     'username' => 'value',
     'password' => 'value'
   ]
 ]

代码示例:

$params = array(
   "param" => array (
      "id" => "1",
      "name" => "username",
      "link_id" => "1",
   )
);

$value = '';
$shortarray = '';
foreach($params as $key => $param){
  $shortarray .= $param->name . '=>' . $value . ',';
}

$postParams = ['form_params' => [ .  $shortarray . ]];

我真的需要一些帮助。提前谢谢你。

【问题讨论】:

  • 您能清楚地分享您的意见吗?
  • 这是否更清楚?你能给我反馈一下我在示例中编写的代码吗?
  • 我说的是你得到的输入数组。
  • 我已经添加了foreach用作输入的数组。

标签: php arrays forms


【解决方案1】:

如果您只想显示简短的数组语法,那么此解决方案可能会帮助您解决问题。

https://stackoverflow.com/a/35207172/4781882

【讨论】:

    【解决方案2】:

    我不太清楚你为什么要求它是一个“短数组”,但这里有一个解决方案......

    我认为这是一个网络表单,是吗?

    所以让我们假设您以一种可用的方式命名您的表单,例如:

    <form method="POST" action="yourform.html">
    Line 1 <input name="email1"> | <input name="user1"> | <input name="password1">
    <br/>-------<br/>
    Line 2 <input name="email2"> | <input name="user2"> | <input name="password2">
    <br/>-------<br/>
    Line 3 <input name="email3"> | <input name="user3"> | <input name="password3">
    </form>
    

    那么……

    for($i = 1; $i <= 3; $i++ {
      $postparms[] = ['email' => $_POST['email'.$i], 'user' => $_POST['user'.$i], 'password' => $_POST['password'.$i] ];
    }
    
    print_r($postparms);
    

    【讨论】:

    • 感谢您的回复,我正在使用 GuzzleClient 为 POST 请求构建一个短数组。这不是我要找的。抱歉,我会为其添加更多上下文。 ——
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-10
    • 2012-11-23
    • 1970-01-01
    • 2013-08-21
    • 2020-04-03
    • 1970-01-01
    • 2019-03-15
    相关资源
    最近更新 更多