相关疑难解决方法(0)

PHP中的数组+运算符?

$test = array('hi');
$test += array('test','oh');
var_dump($test);
Run Code Online (Sandbox Code Playgroud)

+PHP中的数组意味着什么?

php arrays

186
推荐指数
4
解决办法
8万
查看次数

如何在php中连接两个多维数组

如何在php中加入两个多维数组?我有两个多维数组A和B.我需要连接A和B以形成一个新的数组C,如下所示

$A = array( 
array("a1"=>1,"b1"=>2,"c1"=>"A"), 
array("a1"=>1,"b1"=>16,"c1"=>"Z"), 
array("a1"=>3,"b1"=>8,"c1"=>"A")); 

$B = array( 
array("a2"=>1,"b2"=>2,"b2"=>"A"), 
array("a2"=>1,"b2"=>16,"b2"=>"G"), 
array("a2"=>3,"b2"=>8,"b2"=>"A")); 
Run Code Online (Sandbox Code Playgroud)

//加入A和B以形成C.

$C=array( 
array("a1"=>1,"b1"=>2,"c1"=>"A"), 
array("a1"=>1,"b1"=>16,"c1"=>"Z"), 
array("a1"=>3,"b1"=>8,"c1"=>"A"),
array("a2"=>1,"b2"=>2,"b2"=>"A"), 
array("a2"=>1,"b2"=>16,"b2"=>"G"), 
array("a2"=>3,"b2"=>8,"b2"=>"A"));
Run Code Online (Sandbox Code Playgroud)

php arrays multidimensional-array

5
推荐指数
1
解决办法
2万
查看次数

优化阵列合并操作

鉴于,我将不胜感激任何帮助.

我有7个单独的阵列与约.每个数组中有90,000个数字(我们称之为arrays1-arrays7).每个数组本身都没有重复的数字.但是,阵列之间可能存在重复.例如,array2没有重复项,但可以使用与arrays3和arrays4相同的数字.

问题:一旦所有7个阵列合并,我试图识别所有重复3次的数字.

我必须进行1000次计算,需要15分钟,但这不行,因为我必须运行40次 - 代码:

如果您知道另一种最适合此类计算的语言,请告诉我.任何扩展建议,如redis或gearman都有帮助.

for($kj=1; $kj<=1000; $kj++)
    {
$result=array_merge($files_array1,$files_array2,$files_array3,$files_array4,$files_array5,$files_array6,$files_array7);

$result=array_count_values($result);

$fp_lines = fopen("equalTo3.txt", "w");

foreach($result as $key => $val)
{
    if($result[$key]==3)
    {
    fwrite($fp_lines, $key."\r\n");
    }
}
fclose($fp_lines);
}
Run Code Online (Sandbox Code Playgroud)

我也用字符串尝试了下面的代码,但是array_map调用和array_count值调用需要17分钟:

for($kj=1; $kj<=1000; $kj++)
    {

$result='';

for ($ii = 0; $ii< 7; $ii++) {
    $result .= $files_array[$hello_won[$ii]].'\r\n';
}

$result2=explode("\n",$result);//5mins
$result2=array_map("trim",$result2);//11mins
$result2=array_count_values($result2);//4-6mins

$fp_lines = fopen("equalTo3.txt", "w");

foreach($result2 as $key => $val)
{

    if($result2[$key]==3)
    {
    fwrite($fp_lines, $key."\r\n");
    }
}
fclose($fp_lines);

unset($result2);
Run Code Online (Sandbox Code Playgroud)

////////////////////////////////////////////////// /

@ziumin @ailvenge @scunliffe @ this.lau_ @monocell感谢所有发帖的人!我正在处理你的所有建议,并在我完成所有答案后明天接受答案.非常感谢!

php arrays optimization performance

4
推荐指数
1
解决办法
8544
查看次数

如何在foreach循环下将数组合并为一个数组

我有一个array我想在foreach循环下合并请提供解决方案我该怎么做。

Array
(
    [0] => Array
        (
            [id] => 377556
            [name] => 8 Ball Pool iOS App - US *
    )
)

Array
(
    [0] => Array
        (
            [id] => 377555
            [name] => test data
    )
)
Run Code Online (Sandbox Code Playgroud)

我想要以下结果,所以请提供解决方案,我如何将数据合并到一个数组中。

Array
(
    [0] => Array
        (
            [id] => 377556
            [name] => 8 Ball Pool iOS App - US *
    )
    [1] => Array
        (
            [id] => 377555
            [name] => test data
    )
)
Run Code Online (Sandbox Code Playgroud)

php arrays sorting filter multidimensional-array

4
推荐指数
1
解决办法
7761
查看次数

如何在没有迭代的情况下将两个数组合并为一个

目前,如果我这样做:

$array1 = [27476, 29173, 24551, 21109, 29754, 19116, 25924, 27406, 26878, 20866, 32889, 25975];

$array2 = [25959, 26427, 26775, 24968, 24501, 27218, 27441, 27353, 25074, 27344, 26794, 25355];

$data = array_merge(
    array_merge_recursive(
        $array1, 
        $array2
    )
);
Run Code Online (Sandbox Code Playgroud)

我明白了:

    array3 = [
    0: 25959
    1: 26427
    2: 26775
    3: 24968
    4: 24501
    5: 27218
    6: 27441
    7: 27353
    8: 25074
    9: 27344
    10: 26794
    11: 25355
    12: 27476
    13: 29173
    14: 24551
    15: 21109
    16: 29754
    17: 19116
    18: 25924
    19: …
Run Code Online (Sandbox Code Playgroud)

php arrays laravel

0
推荐指数
1
解决办法
86
查看次数

如何替换数组中的变量?

我正在尝试减少一些代码,以使其看起来更干净:

  if($target == "edit"){
                $formBuilder->add('getTimestamp', DateType::class, array(
                  'widget' => 'single_text',
                  'format' => 'dd.MM.yyyy',
                  'html5' => false,
                  'attr' => array('class' => 'js-date form-control', 'style' => 'line-height: 20px;'), 'label' => $field['fieldName'],
                ));
              } else {
                $formBuilder->add('getTimestamp', DateType::class, array(
                  'widget' => 'single_text',
                  'data' => new \DateTime(),
                  'format' => 'dd.MM.yyyy',
                  'html5' => false,
                  'attr' => array('class' => 'js-date form-control', 'style' => 'line-height: 20px;'), 'label' => $field['fieldName'],
                ));

              }
Run Code Online (Sandbox Code Playgroud)

这是我的方法:

if($target == "edit"){
      $newdate = ['data' => new \DateTime()];
 } 


 $formBuilder->add('getTimestamp', DateType::class, array(
                'widget' => …
Run Code Online (Sandbox Code Playgroud)

php arrays oop formbuilder symfony

-1
推荐指数
1
解决办法
104
查看次数