# give/2.13.1/src/Helpers/ArrayDataSet.php

GiveWP – Donation Plugin and Fundraising Platform, version 2.13.1. 107 lines.

- Page: https://pluginprobe.com/plugins/give/2.13.1/code/src/Helpers/ArrayDataSet.php
- Raw: https://pluginprobe.com/plugins/give/2.13.1/raw/src/Helpers/ArrayDataSet.php
- Modified: 2021-03-22T21:24:12+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/give/2.13.1/code/src/Helpers/ArrayDataSet.php#L10-L20`.

```php
<?php

namespace Give\Helpers;

class ArrayDataSet {
	/**
	 * This function will return array with renamed keys.
	 *
	 * This function only support one dimensional array.
	 * You can pass a multi dimensional array but only zero level array keys will be renamed.
	 *
	 * @since 2.7.0
	 *
	 * @param array $renameTo Pass array of existing key name as key and new key name as value.
	 *
	 * @param array $array
	 *
	 * @return array
	 */
	public static function renameKeys( $array, $renameTo ) {
		// Rename key if property name exist for them.
		foreach ( $renameTo as $oldKey => $newKey ) {
			if ( array_key_exists( $oldKey, $array ) ) {
				$array[ $newKey ] = $array[ $oldKey ];
				unset( $array[ $oldKey ] );
			}
		}

		return $array;
	}

	/**
	 * Return whether or not array contains required keys.
	 *
	 * This function only support one dimensional array.
	 *
	 * @since 2.7.0
	 *
	 * @param array $array
	 * @param array $requiredKeys Array of required keys.
	 *
	 * @return bool
	 */
	public static function hasRequiredKeys( $array, $requiredKeys ) {
		return (bool) array_intersect_key( $array, array_flip( $requiredKeys ) );
	}

	/**
	 *  Return array with grouped under specific key.
	 *
	 * @param array  $array
	 * @param array  $itemsToMove
	 * @param string $arrayKey
	 *
	 * @return mixed
	 */
	public static function moveArrayItemsUnderArrayKey( $array, $itemsToMove, $arrayKey ) {
		foreach ( $itemsToMove as $key ) {
			if ( array_key_exists( $key, $array ) ) {
				$array[ $arrayKey ][ $key ] = $array[ $key ];
				unset( $array[ $key ] );
			}
		}

		return $array;
	}


	/**
	 * Creates a new array from the old one with all of the index keys converted to camel case.
	 * This is only intended for associative arrays.
	 *
	 * @since 2.8.0
	 *
	 * @param $array
	 *
	 * @return array
	 */
	public static function camelCaseKeys( $array ) {
		$newArray = [];

		foreach ( $array as $key => $value ) {
			$studlyKey = ucwords( str_replace( [ '-', '_' ], ' ', $key ) );
			$studlyKey = lcfirst( str_replace( ' ', '', $studlyKey ) );

			$newArray[ $studlyKey ] = $value;
		}

		return $newArray;
	}

	/**
	 * Creates a comma separated string and each value enclosed with single quote from array.
	 *
	 * @since 2.10.0
	 * @param array $array
	 *
	 * @return string
	 */
	public static function getStringSeparatedByCommaEnclosedWithSingleQuote( $array ) {
		return sprintf(
			'\'%s\'',
			implode( '\',\'', $array )
		);
	}
}

```
