2

即使是现在的 PHP 学生!搜索了这个但没有得到任何答案 所以发布Q

我知道

sprintf ( string format [, mixed args])

sprintf 描述:返回根据格式化字符串格式产生的字符串。

vsprintf ( string format, array args)

虽然这些已经足够好了,但我只是遇到了一个问题

是否有任何简单的方法(我的意思是比迭代和sprintf每个都好)
“返回根据格式化数组格式生成的数组。”(描述:从 sprintf 复制)

我有一个通用的 $product 数组

$product = array( 
           "p_id" => '%s', 
           "u_price" => '%s', 
           "qty" => '%d'
          );

   $newProductArray1= sprintf_special($product,"Tomato","30","12");
   $newProductArray2= sprintf_special($product,"Carrot","20","10");

以便

 $newProductArray1= ( 
               "p_id" => 'Tomato', 
               "u_price" => '30', 
               "qty" => '12'
              )

$newProductArray2= ( 
               "p_id" => 'Carrot', 
               "u_price" => '20', 
               "qty" => '10'
              )

注意:虽然我不想制作产品类!:)

4

1 回答 1

1

听起来你在 array_combine 之后,请参阅http://www.php.net/manual/en/function.array-combine.php

所以在你的情况下:

$product_keys = array( 
           "p_id", 
           "u_price", 
           "qty"
          );

$newProductArray1= array_combine($product_keys, array("Tomato","30","12"));
$newProductArray2= array_combine($product_keys, array('Carrot', '20', '10'));
于 2013-08-07T17:11:16.740 回答