PHP数组常用方法

2019-01-03  本文已影响7人  WHU_凌晨_Bin

1. 数组的遍历

  $price = [
    'Oil' => 100,
    'Tire' => 10,
    'Spark Plugs' => 4,
  ];

  foreach ($newPrice as $item => $price) {
    echo $item . ' price is : ' . $price . "\n";
  }

2. 数组排序

sort 与 rsort

 $products = [
    'Tires',
    'Oil',
    'Spark Plugs',
  ];
 
  // 排序
  sort($products, SORT_STRING);
  // 反向排序
  rsort($products, SORT_STRING);

按数组的值排序 asort与arsort

  asort($products, SORT_NUMERIC);
  arsort($products, SORT_NUMERIC);

按数组的键排序 ksort与krsort

  ksort($products, SORT_STRING);
  krsort($products, SORT_STRING);

用户自定义排序 usort(自我理解 user sort)

// user sort

  $products = [
    ['TIR', 'Tires', 100],
    ['OIL', 'Oil', 10],
    ['SPK', 'Spark Plugs', 4],
  ];

  function compare ($x, $y) {
    return $x[2] - $y[2];
  }

  usort($products, 'compare');

随机排序 shuffle

  shuffle($products);

反向排序

  array_reverse($products);

数组其他操作 current(), pos(), next(), prev(), reset(), end()

/**
   * 在数组中浏览
   * each(); // PHP7.2中已废弃
   *
   * current(); 当前元素
   * pos();
   *
   * prev();
   * next();
   *
   * reset();
   * end();
   *
   */

对数组的每个元素应用任何函数 array_walk()

  function toUpperCase ($a) {
    echo strtoupper($a);
  }
  array_walk($letters, 'toUpperCase');

统计数组元素个数

  count($letters);

  sizeof($letters);

  // 统计每个特定的值在数组中出现的次数
  array_count_values($letters);

将数组转成标题变量 extract()

// 将数组转成标量
  $person = [
    'name' => 'baiqb',
    'age' => 28,
    'sex' => 'male',
  ];

  extract($person, EXTR_PREFIX_ALL, 'person');
  echo "\n";
  echo $person_name . "\n";
  echo $person_age . "\n";
  echo $person_sex . "\n";
上一篇下一篇

猜你喜欢

热点阅读